Antkeeper  0.0.1
Public Member Functions | Public Attributes | List of all members
game Class Reference

#include <game.hpp>

Public Member Functions

 game (int argc, const char *const *argv)
 Boots up the game. More...
 
 ~game ()
 Boots down the game. More...
 
void execute ()
 Executes the game. More...
 

Public Attributes

std::optional< bool > option_continue
 
std::optional< std::string > option_data
 
std::optional< bool > option_fullscreen
 
std::optional< bool > option_new_game
 
std::optional< bool > option_quick_start
 
std::optional< bool > option_reset
 
std::optional< bool > option_v_sync
 
std::optional< bool > option_windowed
 
std::unique_ptr< resource_managerresource_manager
 
std::filesystem::path data_package_path
 
std::filesystem::path mods_path
 
std::filesystem::path local_config_path
 
std::filesystem::path shared_config_path
 
std::filesystem::path saves_path
 
std::filesystem::path screenshots_path
 
std::filesystem::path controls_path
 
std::shared_ptr< dict< hash::fnv1a32_t > > settings
 
std::unique_ptr< app::window_managerwindow_manager
 
std::shared_ptr< app::windowwindow
 
bool closed
 
std::shared_ptr<::event::subscriptionwindow_closed_subscription
 
std::shared_ptr<::event::subscriptionwindow_resized_subscription
 
std::unique_ptr< app::input_managerinput_manager
 
std::shared_ptr<::event::subscriptionapplication_quit_subscription
 
std::shared_ptr<::event::subscriptiongamepad_axis_moved_subscription
 
std::shared_ptr<::event::subscriptiongamepad_button_pressed_subscription
 
std::shared_ptr<::event::subscriptionmouse_button_pressed_subscription
 
std::shared_ptr<::event::subscriptionmouse_moved_subscription
 
std::shared_ptr<::event::subscriptionmouse_scrolled_subscription
 
bool gamepad_active
 
std::string language_tag
 
std::shared_ptr< i18n::string_mapstring_map
 
std::unordered_map< hash::fnv1a32_t, std::shared_ptr< type::typeface > > typefaces
 
type::bitmap_font debug_font
 
type::bitmap_font menu_font
 
type::bitmap_font title_font
 
std::shared_ptr< render::materialdebug_font_material
 
std::shared_ptr< render::materialmenu_font_material
 
std::shared_ptr< render::materialtitle_font_material
 
std::string control_profile_filename
 
std::shared_ptr<::control_profilecontrol_profile
 
std::unordered_map< hash::fnv1a32_t, input::actionactions
 
input::action_map window_action_map
 
input::action fullscreen_action
 
input::action screenshot_action
 
input::action_map menu_action_map
 
input::action menu_up_action
 
input::action menu_down_action
 
input::action menu_left_action
 
input::action menu_right_action
 
input::action menu_select_action
 
input::action menu_back_action
 
input::action menu_modifier_action
 
input::action_map movement_action_map
 
input::mapper input_mapper
 
input::action move_forward_action
 
input::action move_back_action
 
input::action move_left_action
 
input::action move_right_action
 
input::action move_up_action
 
input::action move_down_action
 
input::action move_fast_action
 
input::action move_slow_action
 
input::action pause_action
 
input::action_map camera_action_map
 
input::action camera_mouse_pick_action
 
input::action camera_mouse_look_action
 
input::action camera_mouse_drag_action
 
input::action camera_mouse_zoom_action
 
input::action camera_zoom_in_action
 
input::action camera_zoom_out_action
 
input::action camera_orbit_left_action
 
input::action camera_orbit_right_action
 
input::action camera_orbit_up_action
 
input::action camera_orbit_down_action
 
input::action camera_look_ahead_action
 
input::action camera_preset_1_action
 
input::action camera_preset_2_action
 
input::action camera_preset_3_action
 
input::action camera_preset_4_action
 
input::action camera_preset_5_action
 
input::action camera_preset_6_action
 
input::action camera_preset_7_action
 
input::action camera_preset_8_action
 
input::action camera_preset_9_action
 
input::action camera_preset_10_action
 
input::action camera_save_preset_action
 
input::action_map ant_action_map
 
input::action ant_move_forward_action
 
input::action ant_move_back_action
 
input::action ant_move_left_action
 
input::action ant_move_right_action
 
input::action ant_move_fast_action
 
input::action ant_move_slow_action
 
input::action ant_interact_action
 
input::action ant_oviposit_action
 
input::action_map debug_action_map
 
input::action toggle_debug_ui_action
 
input::action adjust_exposure_action
 
input::action adjust_time_action
 
std::vector< std::shared_ptr<::event::subscription > > event_subscriptions
 
std::vector< std::shared_ptr<::event::subscription > > menu_action_subscriptions
 
std::vector< std::shared_ptr<::event::subscription > > menu_mouse_subscriptions
 
std::vector< std::shared_ptr<::event::subscription > > movement_action_subscriptions
 
double mouse_radians_per_pixel {math::radians(0.1)}
 
double mouse_pan_sensitivity {1.0}
 
double mouse_tilt_sensitivity {1.0}
 
bool mouse_invert_pan {false}
 
bool mouse_invert_tilt {false}
 
double mouse_pan_factor {1.0}
 
double mouse_tilt_factor {1.0}
 
bool toggle_mouse_look {false}
 
bool toggle_mouse_grip {false}
 
bool toggle_mouse_zoom {false}
 
float zoom_steps {6.0}
 
double gamepad_radians_per_second {math::radians(180.0)}
 
double gamepad_pan_sensitivity {1.0}
 
double gamepad_tilt_sensitivity {1.0}
 
bool gamepad_invert_pan {false}
 
bool gamepad_invert_tilt {false}
 
double gamepad_pan_factor {1.0}
 
double gamepad_tilt_factor {1.0}
 
bool debug_ui_visible {false}
 
std::unique_ptr< scene::textframe_time_text
 
std::unique_ptr< debug::clicli
 
hsm::state_machine< game_statestate_machine
 
std::function< void()> resume_callback
 
std::queue< std::function< void()> > function_queue
 
std::shared_ptr< gl::texture_2dhdr_color_texture
 
std::shared_ptr< gl::texture_2dhdr_depth_texture
 
std::shared_ptr< gl::framebufferhdr_framebuffer
 
std::shared_ptr< gl::texture_2dldr_color_texture_a
 
std::shared_ptr< gl::framebufferldr_framebuffer_a
 
std::shared_ptr< gl::texture_2dldr_color_texture_b
 
std::shared_ptr< gl::framebufferldr_framebuffer_b
 
std::shared_ptr< gl::texture_2dshadow_map_depth_texture
 
std::shared_ptr< gl::framebuffershadow_map_framebuffer
 
math::ivec2 render_resolution
 
float render_scale
 
int shadow_map_resolution
 
std::unique_ptr< render::material_passui_material_pass
 
std::unique_ptr< render::compositorui_compositor
 
std::unique_ptr< render::bloom_passbloom_pass
 
std::unique_ptr< render::final_passcommon_final_pass
 
std::unique_ptr< render::resample_passresample_pass
 
std::unique_ptr< render::material_passunderground_material_pass
 
std::unique_ptr< render::compositorunderground_compositor
 
std::unique_ptr< render::sky_passsky_pass
 
std::unique_ptr< render::material_passsurface_material_pass
 
std::unique_ptr< render::compositorsurface_compositor
 
std::unique_ptr< render::rendererrenderer
 
std::unique_ptr< scene::collectionui_scene
 
std::unique_ptr< scene::cameraui_camera
 
std::unique_ptr< scene::billboardmenu_bg_billboard
 
std::shared_ptr< render::materialmenu_bg_material
 
std::unique_ptr< animation< float > > menu_fade_animation
 
std::unique_ptr< animation< float > > menu_bg_fade_in_animation
 
std::unique_ptr< animation< float > > menu_bg_fade_out_animation
 
float font_scale
 
bool dyslexia_font
 
float debug_font_size_pt
 
float menu_font_size_pt
 
float title_font_size_pt
 
std::vector< std::function< void()> > menu_select_callbacks
 
std::vector< std::function< void()> > menu_left_callbacks
 
std::vector< std::function< void()> > menu_right_callbacks
 
std::function< void()> menu_back_callback
 
std::vector< std::tuple< scene::text *, scene::text * > > menu_item_texts
 
std::unordered_map< hash::fnv1a32_t, int > menu_item_indices
 
int * menu_item_index
 
std::unique_ptr< scene::collectionsurface_scene
 
std::shared_ptr< scene::camerasurface_camera
 
std::unique_ptr< scene::directional_lightsun_light
 
std::unique_ptr< scene::directional_lightmoon_light
 
std::unique_ptr< scene::collectionunderground_scene
 
std::shared_ptr< scene::cameraunderground_camera
 
std::unique_ptr< scene::directional_lightunderground_directional_light
 
std::unique_ptr< scene::rectangle_lightunderground_rectangle_light
 
scene::collectionactive_scene
 
std::unique_ptr< timelinetimeline
 
std::unique_ptr< animatoranimator
 
std::unique_ptr< animation< float > > radial_transition_in
 
std::unique_ptr< animation< float > > radial_transition_out
 
std::unique_ptr< screen_transitionfade_transition
 
std::shared_ptr< render::matvar_fvec3fade_transition_color
 
std::unique_ptr< screen_transitionradial_transition_inner
 
std::unique_ptr< screen_transitionradial_transition_outer
 
std::unique_ptr< animation< float > > equip_tool_animation
 
std::unique_ptr< animation< float > > unequip_tool_animation
 
ALCdevice * alc_device
 
ALCcontext * alc_context
 
float master_volume
 
float ambience_volume
 
float effects_volume
 
bool mono_audio
 
bool captions
 
float captions_size
 
std::mt19937 rng
 
std::unique_ptr< entity::registryentity_registry
 
std::unordered_map< hash::fnv1a32_t, entity::identities
 
entity::id controlled_ant_eid {entt::null}
 
entity::id active_camera_eid {entt::null}
 
std::unique_ptr<::behavior_systembehavior_system
 
std::unique_ptr<::camera_systemcamera_system
 
std::unique_ptr<::collision_systemcollision_system
 
std::unique_ptr<::constraint_systemconstraint_system
 
std::unique_ptr<::steering_systemsteering_system
 
std::unique_ptr<::reproductive_systemreproductive_system
 
std::unique_ptr<::metabolic_systemmetabolic_system
 
std::unique_ptr<::metamorphosis_systemmetamorphosis_system
 
std::unique_ptr<::locomotion_systemlocomotion_system
 
std::unique_ptr<::ik_systemik_system
 
std::unique_ptr<::animation_systemanimation_system
 
std::unique_ptr<::physics_systemphysics_system
 
std::unique_ptr<::render_systemrender_system
 
std::unique_ptr<::subterrain_systemsubterrain_system
 
std::unique_ptr<::terrain_systemterrain_system
 
std::unique_ptr<::spatial_systemspatial_system
 
std::unique_ptr<::blackbody_systemblackbody_system
 
std::unique_ptr<::atmosphere_systematmosphere_system
 
std::unique_ptr<::astronomy_systemastronomy_system
 
std::unique_ptr<::orbit_systemorbit_system
 
float fixed_update_rate {60.0}
 
float max_frame_rate {120.0}
 
bool limit_frame_rate {false}
 
::frame_scheduler frame_scheduler
 
math::moving_average< float > average_frame_duration
 
std::shared_ptr< ecoregionactive_ecoregion
 
render::anti_aliasing_method anti_aliasing_method
 

Detailed Description

Definition at line 120 of file game.hpp.

Constructor & Destructor Documentation

◆ game()

game::game ( int  argc,
const char *const *  argv 
)

Boots up the game.

Parameters
argcCommand line argument count.
argvCommand line argument vector.

Definition at line 103 of file game.cpp.

◆ ~game()

game::~game ( )

Boots down the game.

Definition at line 147 of file game.cpp.

Member Function Documentation

◆ execute()

void game::execute ( )

Executes the game.

Definition at line 1268 of file game.cpp.

Member Data Documentation

◆ actions

std::unordered_map<hash::fnv1a32_t, input::action> game::actions

Definition at line 198 of file game.hpp.

◆ active_camera_eid

entity::id game::active_camera_eid {entt::null}

Definition at line 395 of file game.hpp.

◆ active_ecoregion

std::shared_ptr<ecoregion> game::active_ecoregion

Definition at line 426 of file game.hpp.

◆ active_scene

scene::collection* game::active_scene

Definition at line 364 of file game.hpp.

◆ adjust_exposure_action

input::action game::adjust_exposure_action

Definition at line 262 of file game.hpp.

◆ adjust_time_action

input::action game::adjust_time_action

Definition at line 263 of file game.hpp.

◆ alc_context

ALCcontext* game::alc_context

Definition at line 380 of file game.hpp.

◆ alc_device

ALCdevice* game::alc_device

Definition at line 379 of file game.hpp.

◆ ambience_volume

float game::ambience_volume

Definition at line 382 of file game.hpp.

◆ animation_system

std::unique_ptr<::animation_system> game::animation_system

Definition at line 408 of file game.hpp.

◆ animator

std::unique_ptr<animator> game::animator

Definition at line 368 of file game.hpp.

◆ ant_action_map

input::action_map game::ant_action_map

Definition at line 250 of file game.hpp.

◆ ant_interact_action

input::action game::ant_interact_action

Definition at line 257 of file game.hpp.

◆ ant_move_back_action

input::action game::ant_move_back_action

Definition at line 252 of file game.hpp.

◆ ant_move_fast_action

input::action game::ant_move_fast_action

Definition at line 255 of file game.hpp.

◆ ant_move_forward_action

input::action game::ant_move_forward_action

Definition at line 251 of file game.hpp.

◆ ant_move_left_action

input::action game::ant_move_left_action

Definition at line 253 of file game.hpp.

◆ ant_move_right_action

input::action game::ant_move_right_action

Definition at line 254 of file game.hpp.

◆ ant_move_slow_action

input::action game::ant_move_slow_action

Definition at line 256 of file game.hpp.

◆ ant_oviposit_action

input::action game::ant_oviposit_action

Definition at line 258 of file game.hpp.

◆ anti_aliasing_method

render::anti_aliasing_method game::anti_aliasing_method

Definition at line 427 of file game.hpp.

◆ application_quit_subscription

std::shared_ptr<::event::subscription> game::application_quit_subscription

Definition at line 173 of file game.hpp.

◆ astronomy_system

std::unique_ptr<::astronomy_system> game::astronomy_system

Definition at line 416 of file game.hpp.

◆ atmosphere_system

std::unique_ptr<::atmosphere_system> game::atmosphere_system

Definition at line 415 of file game.hpp.

◆ average_frame_duration

math::moving_average<float> game::average_frame_duration

Definition at line 424 of file game.hpp.

◆ behavior_system

std::unique_ptr<::behavior_system> game::behavior_system

Definition at line 398 of file game.hpp.

◆ blackbody_system

std::unique_ptr<::blackbody_system> game::blackbody_system

Definition at line 414 of file game.hpp.

◆ bloom_pass

std::unique_ptr<render::bloom_pass> game::bloom_pass

Definition at line 322 of file game.hpp.

◆ camera_action_map

input::action_map game::camera_action_map

Definition at line 226 of file game.hpp.

◆ camera_look_ahead_action

input::action game::camera_look_ahead_action

Definition at line 237 of file game.hpp.

◆ camera_mouse_drag_action

input::action game::camera_mouse_drag_action

Definition at line 229 of file game.hpp.

◆ camera_mouse_look_action

input::action game::camera_mouse_look_action

Definition at line 228 of file game.hpp.

◆ camera_mouse_pick_action

input::action game::camera_mouse_pick_action

Definition at line 227 of file game.hpp.

◆ camera_mouse_zoom_action

input::action game::camera_mouse_zoom_action

Definition at line 230 of file game.hpp.

◆ camera_orbit_down_action

input::action game::camera_orbit_down_action

Definition at line 236 of file game.hpp.

◆ camera_orbit_left_action

input::action game::camera_orbit_left_action

Definition at line 233 of file game.hpp.

◆ camera_orbit_right_action

input::action game::camera_orbit_right_action

Definition at line 234 of file game.hpp.

◆ camera_orbit_up_action

input::action game::camera_orbit_up_action

Definition at line 235 of file game.hpp.

◆ camera_preset_10_action

input::action game::camera_preset_10_action

Definition at line 247 of file game.hpp.

◆ camera_preset_1_action

input::action game::camera_preset_1_action

Definition at line 238 of file game.hpp.

◆ camera_preset_2_action

input::action game::camera_preset_2_action

Definition at line 239 of file game.hpp.

◆ camera_preset_3_action

input::action game::camera_preset_3_action

Definition at line 240 of file game.hpp.

◆ camera_preset_4_action

input::action game::camera_preset_4_action

Definition at line 241 of file game.hpp.

◆ camera_preset_5_action

input::action game::camera_preset_5_action

Definition at line 242 of file game.hpp.

◆ camera_preset_6_action

input::action game::camera_preset_6_action

Definition at line 243 of file game.hpp.

◆ camera_preset_7_action

input::action game::camera_preset_7_action

Definition at line 244 of file game.hpp.

◆ camera_preset_8_action

input::action game::camera_preset_8_action

Definition at line 245 of file game.hpp.

◆ camera_preset_9_action

input::action game::camera_preset_9_action

Definition at line 246 of file game.hpp.

◆ camera_save_preset_action

input::action game::camera_save_preset_action

Definition at line 248 of file game.hpp.

◆ camera_system

std::unique_ptr<::camera_system> game::camera_system

Definition at line 399 of file game.hpp.

◆ camera_zoom_in_action

input::action game::camera_zoom_in_action

Definition at line 231 of file game.hpp.

◆ camera_zoom_out_action

input::action game::camera_zoom_out_action

Definition at line 232 of file game.hpp.

◆ captions

bool game::captions

Definition at line 385 of file game.hpp.

◆ captions_size

float game::captions_size

Definition at line 386 of file game.hpp.

◆ cli

std::unique_ptr<debug::cli> game::cli

Definition at line 296 of file game.hpp.

◆ closed

bool game::closed

Definition at line 167 of file game.hpp.

◆ collision_system

std::unique_ptr<::collision_system> game::collision_system

Definition at line 400 of file game.hpp.

◆ common_final_pass

std::unique_ptr<render::final_pass> game::common_final_pass

Definition at line 323 of file game.hpp.

◆ constraint_system

std::unique_ptr<::constraint_system> game::constraint_system

Definition at line 401 of file game.hpp.

◆ control_profile

std::shared_ptr<::control_profile> game::control_profile

Definition at line 196 of file game.hpp.

◆ control_profile_filename

std::string game::control_profile_filename

Definition at line 195 of file game.hpp.

◆ controlled_ant_eid

entity::id game::controlled_ant_eid {entt::null}

Definition at line 394 of file game.hpp.

◆ controls_path

std::filesystem::path game::controls_path

Definition at line 159 of file game.hpp.

◆ data_package_path

std::filesystem::path game::data_package_path

Definition at line 153 of file game.hpp.

◆ debug_action_map

input::action_map game::debug_action_map

Definition at line 260 of file game.hpp.

◆ debug_font

type::bitmap_font game::debug_font

Definition at line 187 of file game.hpp.

◆ debug_font_material

std::shared_ptr<render::material> game::debug_font_material

Definition at line 190 of file game.hpp.

◆ debug_font_size_pt

float game::debug_font_size_pt

Definition at line 343 of file game.hpp.

◆ debug_ui_visible

bool game::debug_ui_visible {false}

Definition at line 294 of file game.hpp.

◆ dyslexia_font

bool game::dyslexia_font

Definition at line 342 of file game.hpp.

◆ effects_volume

float game::effects_volume

Definition at line 383 of file game.hpp.

◆ entities

std::unordered_map<hash::fnv1a32_t, entity::id> game::entities

Definition at line 393 of file game.hpp.

◆ entity_registry

std::unique_ptr<entity::registry> game::entity_registry

Definition at line 392 of file game.hpp.

◆ equip_tool_animation

std::unique_ptr<animation<float> > game::equip_tool_animation

Definition at line 375 of file game.hpp.

◆ event_subscriptions

std::vector<std::shared_ptr<::event::subscription> > game::event_subscriptions

Definition at line 265 of file game.hpp.

◆ fade_transition

std::unique_ptr<screen_transition> game::fade_transition

Definition at line 371 of file game.hpp.

◆ fade_transition_color

std::shared_ptr<render::matvar_fvec3> game::fade_transition_color

Definition at line 372 of file game.hpp.

◆ fixed_update_rate

float game::fixed_update_rate {60.0}

Definition at line 420 of file game.hpp.

◆ font_scale

float game::font_scale

Definition at line 341 of file game.hpp.

◆ frame_scheduler

::frame_scheduler game::frame_scheduler

Definition at line 423 of file game.hpp.

◆ frame_time_text

std::unique_ptr<scene::text> game::frame_time_text

Definition at line 295 of file game.hpp.

◆ fullscreen_action

input::action game::fullscreen_action

Definition at line 201 of file game.hpp.

◆ function_queue

std::queue<std::function<void()> > game::function_queue

Definition at line 303 of file game.hpp.

◆ gamepad_active

bool game::gamepad_active

Definition at line 179 of file game.hpp.

◆ gamepad_axis_moved_subscription

std::shared_ptr<::event::subscription> game::gamepad_axis_moved_subscription

Definition at line 174 of file game.hpp.

◆ gamepad_button_pressed_subscription

std::shared_ptr<::event::subscription> game::gamepad_button_pressed_subscription

Definition at line 175 of file game.hpp.

◆ gamepad_invert_pan

bool game::gamepad_invert_pan {false}

Definition at line 288 of file game.hpp.

◆ gamepad_invert_tilt

bool game::gamepad_invert_tilt {false}

Definition at line 289 of file game.hpp.

◆ gamepad_pan_factor

double game::gamepad_pan_factor {1.0}

Definition at line 290 of file game.hpp.

◆ gamepad_pan_sensitivity

double game::gamepad_pan_sensitivity {1.0}

Definition at line 286 of file game.hpp.

◆ gamepad_radians_per_second

double game::gamepad_radians_per_second {math::radians(180.0)}

Definition at line 285 of file game.hpp.

◆ gamepad_tilt_factor

double game::gamepad_tilt_factor {1.0}

Definition at line 291 of file game.hpp.

◆ gamepad_tilt_sensitivity

double game::gamepad_tilt_sensitivity {1.0}

Definition at line 287 of file game.hpp.

◆ hdr_color_texture

std::shared_ptr<gl::texture_2d> game::hdr_color_texture

Definition at line 306 of file game.hpp.

◆ hdr_depth_texture

std::shared_ptr<gl::texture_2d> game::hdr_depth_texture

Definition at line 307 of file game.hpp.

◆ hdr_framebuffer

std::shared_ptr<gl::framebuffer> game::hdr_framebuffer

Definition at line 308 of file game.hpp.

◆ ik_system

std::unique_ptr<::ik_system> game::ik_system

Definition at line 407 of file game.hpp.

◆ input_manager

std::unique_ptr<app::input_manager> game::input_manager

Definition at line 172 of file game.hpp.

◆ input_mapper

input::mapper game::input_mapper

Definition at line 214 of file game.hpp.

◆ language_tag

std::string game::language_tag

Definition at line 182 of file game.hpp.

◆ ldr_color_texture_a

std::shared_ptr<gl::texture_2d> game::ldr_color_texture_a

Definition at line 309 of file game.hpp.

◆ ldr_color_texture_b

std::shared_ptr<gl::texture_2d> game::ldr_color_texture_b

Definition at line 311 of file game.hpp.

◆ ldr_framebuffer_a

std::shared_ptr<gl::framebuffer> game::ldr_framebuffer_a

Definition at line 310 of file game.hpp.

◆ ldr_framebuffer_b

std::shared_ptr<gl::framebuffer> game::ldr_framebuffer_b

Definition at line 312 of file game.hpp.

◆ limit_frame_rate

bool game::limit_frame_rate {false}

Definition at line 422 of file game.hpp.

◆ local_config_path

std::filesystem::path game::local_config_path

Definition at line 155 of file game.hpp.

◆ locomotion_system

std::unique_ptr<::locomotion_system> game::locomotion_system

Definition at line 406 of file game.hpp.

◆ master_volume

float game::master_volume

Definition at line 381 of file game.hpp.

◆ max_frame_rate

float game::max_frame_rate {120.0}

Definition at line 421 of file game.hpp.

◆ menu_action_map

input::action_map game::menu_action_map

Definition at line 204 of file game.hpp.

◆ menu_action_subscriptions

std::vector<std::shared_ptr<::event::subscription> > game::menu_action_subscriptions

Definition at line 267 of file game.hpp.

◆ menu_back_action

input::action game::menu_back_action

Definition at line 210 of file game.hpp.

◆ menu_back_callback

std::function<void()> game::menu_back_callback

Definition at line 350 of file game.hpp.

◆ menu_bg_billboard

std::unique_ptr<scene::billboard> game::menu_bg_billboard

Definition at line 335 of file game.hpp.

◆ menu_bg_fade_in_animation

std::unique_ptr<animation<float> > game::menu_bg_fade_in_animation

Definition at line 338 of file game.hpp.

◆ menu_bg_fade_out_animation

std::unique_ptr<animation<float> > game::menu_bg_fade_out_animation

Definition at line 339 of file game.hpp.

◆ menu_bg_material

std::shared_ptr<render::material> game::menu_bg_material

Definition at line 336 of file game.hpp.

◆ menu_down_action

input::action game::menu_down_action

Definition at line 206 of file game.hpp.

◆ menu_fade_animation

std::unique_ptr<animation<float> > game::menu_fade_animation

Definition at line 337 of file game.hpp.

◆ menu_font

type::bitmap_font game::menu_font

Definition at line 188 of file game.hpp.

◆ menu_font_material

std::shared_ptr<render::material> game::menu_font_material

Definition at line 191 of file game.hpp.

◆ menu_font_size_pt

float game::menu_font_size_pt

Definition at line 344 of file game.hpp.

◆ menu_item_index

int* game::menu_item_index

Definition at line 353 of file game.hpp.

◆ menu_item_indices

std::unordered_map<hash::fnv1a32_t, int> game::menu_item_indices

Definition at line 352 of file game.hpp.

◆ menu_item_texts

std::vector<std::tuple<scene::text*, scene::text*> > game::menu_item_texts

Definition at line 351 of file game.hpp.

◆ menu_left_action

input::action game::menu_left_action

Definition at line 207 of file game.hpp.

◆ menu_left_callbacks

std::vector<std::function<void()> > game::menu_left_callbacks

Definition at line 348 of file game.hpp.

◆ menu_modifier_action

input::action game::menu_modifier_action

Definition at line 211 of file game.hpp.

◆ menu_mouse_subscriptions

std::vector<std::shared_ptr<::event::subscription> > game::menu_mouse_subscriptions

Definition at line 268 of file game.hpp.

◆ menu_right_action

input::action game::menu_right_action

Definition at line 208 of file game.hpp.

◆ menu_right_callbacks

std::vector<std::function<void()> > game::menu_right_callbacks

Definition at line 349 of file game.hpp.

◆ menu_select_action

input::action game::menu_select_action

Definition at line 209 of file game.hpp.

◆ menu_select_callbacks

std::vector<std::function<void()> > game::menu_select_callbacks

Definition at line 347 of file game.hpp.

◆ menu_up_action

input::action game::menu_up_action

Definition at line 205 of file game.hpp.

◆ metabolic_system

std::unique_ptr<::metabolic_system> game::metabolic_system

Definition at line 404 of file game.hpp.

◆ metamorphosis_system

std::unique_ptr<::metamorphosis_system> game::metamorphosis_system

Definition at line 405 of file game.hpp.

◆ mods_path

std::filesystem::path game::mods_path

Definition at line 154 of file game.hpp.

◆ mono_audio

bool game::mono_audio

Definition at line 384 of file game.hpp.

◆ moon_light

std::unique_ptr<scene::directional_light> game::moon_light

Definition at line 359 of file game.hpp.

◆ mouse_button_pressed_subscription

std::shared_ptr<::event::subscription> game::mouse_button_pressed_subscription

Definition at line 176 of file game.hpp.

◆ mouse_invert_pan

bool game::mouse_invert_pan {false}

Definition at line 275 of file game.hpp.

◆ mouse_invert_tilt

bool game::mouse_invert_tilt {false}

Definition at line 276 of file game.hpp.

◆ mouse_moved_subscription

std::shared_ptr<::event::subscription> game::mouse_moved_subscription

Definition at line 177 of file game.hpp.

◆ mouse_pan_factor

double game::mouse_pan_factor {1.0}

Definition at line 277 of file game.hpp.

◆ mouse_pan_sensitivity

double game::mouse_pan_sensitivity {1.0}

Definition at line 273 of file game.hpp.

◆ mouse_radians_per_pixel

double game::mouse_radians_per_pixel {math::radians(0.1)}

Definition at line 272 of file game.hpp.

◆ mouse_scrolled_subscription

std::shared_ptr<::event::subscription> game::mouse_scrolled_subscription

Definition at line 178 of file game.hpp.

◆ mouse_tilt_factor

double game::mouse_tilt_factor {1.0}

Definition at line 278 of file game.hpp.

◆ mouse_tilt_sensitivity

double game::mouse_tilt_sensitivity {1.0}

Definition at line 274 of file game.hpp.

◆ move_back_action

input::action game::move_back_action

Definition at line 217 of file game.hpp.

◆ move_down_action

input::action game::move_down_action

Definition at line 221 of file game.hpp.

◆ move_fast_action

input::action game::move_fast_action

Definition at line 222 of file game.hpp.

◆ move_forward_action

input::action game::move_forward_action

Definition at line 216 of file game.hpp.

◆ move_left_action

input::action game::move_left_action

Definition at line 218 of file game.hpp.

◆ move_right_action

input::action game::move_right_action

Definition at line 219 of file game.hpp.

◆ move_slow_action

input::action game::move_slow_action

Definition at line 223 of file game.hpp.

◆ move_up_action

input::action game::move_up_action

Definition at line 220 of file game.hpp.

◆ movement_action_map

input::action_map game::movement_action_map

Definition at line 213 of file game.hpp.

◆ movement_action_subscriptions

std::vector<std::shared_ptr<::event::subscription> > game::movement_action_subscriptions

Definition at line 269 of file game.hpp.

◆ option_continue

std::optional<bool> game::option_continue

Definition at line 142 of file game.hpp.

◆ option_data

std::optional<std::string> game::option_data

Definition at line 143 of file game.hpp.

◆ option_fullscreen

std::optional<bool> game::option_fullscreen

Definition at line 144 of file game.hpp.

◆ option_new_game

std::optional<bool> game::option_new_game

Definition at line 145 of file game.hpp.

◆ option_quick_start

std::optional<bool> game::option_quick_start

Definition at line 146 of file game.hpp.

◆ option_reset

std::optional<bool> game::option_reset

Definition at line 147 of file game.hpp.

◆ option_v_sync

std::optional<bool> game::option_v_sync

Definition at line 148 of file game.hpp.

◆ option_windowed

std::optional<bool> game::option_windowed

Definition at line 149 of file game.hpp.

◆ orbit_system

std::unique_ptr<::orbit_system> game::orbit_system

Definition at line 417 of file game.hpp.

◆ pause_action

input::action game::pause_action

Definition at line 224 of file game.hpp.

◆ physics_system

std::unique_ptr<::physics_system> game::physics_system

Definition at line 409 of file game.hpp.

◆ radial_transition_in

std::unique_ptr<animation<float> > game::radial_transition_in

Definition at line 369 of file game.hpp.

◆ radial_transition_inner

std::unique_ptr<screen_transition> game::radial_transition_inner

Definition at line 373 of file game.hpp.

◆ radial_transition_out

std::unique_ptr<animation<float> > game::radial_transition_out

Definition at line 370 of file game.hpp.

◆ radial_transition_outer

std::unique_ptr<screen_transition> game::radial_transition_outer

Definition at line 374 of file game.hpp.

◆ render_resolution

math::ivec2 game::render_resolution

Definition at line 317 of file game.hpp.

◆ render_scale

float game::render_scale

Definition at line 318 of file game.hpp.

◆ render_system

std::unique_ptr<::render_system> game::render_system

Definition at line 410 of file game.hpp.

◆ renderer

std::unique_ptr<render::renderer> game::renderer

Definition at line 330 of file game.hpp.

◆ reproductive_system

std::unique_ptr<::reproductive_system> game::reproductive_system

Definition at line 403 of file game.hpp.

◆ resample_pass

std::unique_ptr<render::resample_pass> game::resample_pass

Definition at line 324 of file game.hpp.

◆ resource_manager

std::unique_ptr<resource_manager> game::resource_manager

Definition at line 152 of file game.hpp.

◆ resume_callback

std::function<void()> game::resume_callback

Definition at line 300 of file game.hpp.

◆ rng

std::mt19937 game::rng

Definition at line 389 of file game.hpp.

◆ saves_path

std::filesystem::path game::saves_path

Definition at line 157 of file game.hpp.

◆ screenshot_action

input::action game::screenshot_action

Definition at line 202 of file game.hpp.

◆ screenshots_path

std::filesystem::path game::screenshots_path

Definition at line 158 of file game.hpp.

◆ settings

std::shared_ptr<dict<hash::fnv1a32_t> > game::settings

Definition at line 162 of file game.hpp.

◆ shadow_map_depth_texture

std::shared_ptr<gl::texture_2d> game::shadow_map_depth_texture

Definition at line 313 of file game.hpp.

◆ shadow_map_framebuffer

std::shared_ptr<gl::framebuffer> game::shadow_map_framebuffer

Definition at line 314 of file game.hpp.

◆ shadow_map_resolution

int game::shadow_map_resolution

Definition at line 319 of file game.hpp.

◆ shared_config_path

std::filesystem::path game::shared_config_path

Definition at line 156 of file game.hpp.

◆ sky_pass

std::unique_ptr<render::sky_pass> game::sky_pass

Definition at line 327 of file game.hpp.

◆ spatial_system

std::unique_ptr<::spatial_system> game::spatial_system

Definition at line 413 of file game.hpp.

◆ state_machine

hsm::state_machine<game_state> game::state_machine

Definition at line 299 of file game.hpp.

◆ steering_system

std::unique_ptr<::steering_system> game::steering_system

Definition at line 402 of file game.hpp.

◆ string_map

std::shared_ptr<i18n::string_map> game::string_map

Definition at line 183 of file game.hpp.

◆ subterrain_system

std::unique_ptr<::subterrain_system> game::subterrain_system

Definition at line 411 of file game.hpp.

◆ sun_light

std::unique_ptr<scene::directional_light> game::sun_light

Definition at line 358 of file game.hpp.

◆ surface_camera

std::shared_ptr<scene::camera> game::surface_camera

Definition at line 357 of file game.hpp.

◆ surface_compositor

std::unique_ptr<render::compositor> game::surface_compositor

Definition at line 329 of file game.hpp.

◆ surface_material_pass

std::unique_ptr<render::material_pass> game::surface_material_pass

Definition at line 328 of file game.hpp.

◆ surface_scene

std::unique_ptr<scene::collection> game::surface_scene

Definition at line 356 of file game.hpp.

◆ terrain_system

std::unique_ptr<::terrain_system> game::terrain_system

Definition at line 412 of file game.hpp.

◆ timeline

std::unique_ptr<timeline> game::timeline

Definition at line 367 of file game.hpp.

◆ title_font

type::bitmap_font game::title_font

Definition at line 189 of file game.hpp.

◆ title_font_material

std::shared_ptr<render::material> game::title_font_material

Definition at line 192 of file game.hpp.

◆ title_font_size_pt

float game::title_font_size_pt

Definition at line 345 of file game.hpp.

◆ toggle_debug_ui_action

input::action game::toggle_debug_ui_action

Definition at line 261 of file game.hpp.

◆ toggle_mouse_grip

bool game::toggle_mouse_grip {false}

Definition at line 280 of file game.hpp.

◆ toggle_mouse_look

bool game::toggle_mouse_look {false}

Definition at line 279 of file game.hpp.

◆ toggle_mouse_zoom

bool game::toggle_mouse_zoom {false}

Definition at line 281 of file game.hpp.

◆ typefaces

std::unordered_map<hash::fnv1a32_t, std::shared_ptr<type::typeface> > game::typefaces

Definition at line 186 of file game.hpp.

◆ ui_camera

std::unique_ptr<scene::camera> game::ui_camera

Definition at line 334 of file game.hpp.

◆ ui_compositor

std::unique_ptr<render::compositor> game::ui_compositor

Definition at line 321 of file game.hpp.

◆ ui_material_pass

std::unique_ptr<render::material_pass> game::ui_material_pass

Definition at line 320 of file game.hpp.

◆ ui_scene

std::unique_ptr<scene::collection> game::ui_scene

Definition at line 333 of file game.hpp.

◆ underground_camera

std::shared_ptr<scene::camera> game::underground_camera

Definition at line 361 of file game.hpp.

◆ underground_compositor

std::unique_ptr<render::compositor> game::underground_compositor

Definition at line 326 of file game.hpp.

◆ underground_directional_light

std::unique_ptr<scene::directional_light> game::underground_directional_light

Definition at line 362 of file game.hpp.

◆ underground_material_pass

std::unique_ptr<render::material_pass> game::underground_material_pass

Definition at line 325 of file game.hpp.

◆ underground_rectangle_light

std::unique_ptr<scene::rectangle_light> game::underground_rectangle_light

Definition at line 363 of file game.hpp.

◆ underground_scene

std::unique_ptr<scene::collection> game::underground_scene

Definition at line 360 of file game.hpp.

◆ unequip_tool_animation

std::unique_ptr<animation<float> > game::unequip_tool_animation

Definition at line 376 of file game.hpp.

◆ window

std::shared_ptr<app::window> game::window

Definition at line 166 of file game.hpp.

◆ window_action_map

input::action_map game::window_action_map

Definition at line 200 of file game.hpp.

◆ window_closed_subscription

std::shared_ptr<::event::subscription> game::window_closed_subscription

Definition at line 168 of file game.hpp.

◆ window_manager

std::unique_ptr<app::window_manager> game::window_manager

Definition at line 165 of file game.hpp.

◆ window_resized_subscription

std::shared_ptr<::event::subscription> game::window_resized_subscription

Definition at line 169 of file game.hpp.

◆ zoom_steps

float game::zoom_steps {6.0}

Definition at line 282 of file game.hpp.


The documentation for this class was generated from the following files: