11#include "dcon_generated.hpp"
57 bool outliner_views[14] = {
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true};
518 std::unique_ptr<fif::environment> jit_environment;
606 std::unique_ptr<window::window_data_impl>
win_ptr =
nullptr;
632 std::chrono::time_point<std::chrono::steady_clock>
last_update = std::chrono::steady_clock::now();
644 std::chrono::time_point<std::chrono::steady_clock>
tooltip_timer = std::chrono::steady_clock::now();
653 directx::data directx;
727 state() :
untrans_key_to_text_sequence(0,
text::vector_backed_ci_hash(
key_data),
text::vector_backed_ci_eq(
key_data)),
locale_key_to_text_sequence(0,
text::vector_backed_ci_hash(
key_data),
text::vector_backed_ci_eq(
key_data)),
current_scene(
game_scene::nation_picker()),
incoming_commands(1024),
new_n_event(1024),
new_f_n_event(1024),
new_p_event(1024),
new_f_p_event(1024),
new_requests(256),
new_messages(2048),
naval_battle_reports(256),
land_battle_reports(256) {
795 dcon::province_id
get_port_for_landing(dcon::automated_army_group_id group, dcon::province_id target);
799 bool move_to_available_port(dcon::automated_army_group_id group, dcon::regiment_automation_data_id regiment);
812 dcon::automated_army_group_id group_id,
813 dcon::province_id target,
814 std::vector<float>& regiments_distribution,
815 float overestimate_supply_limit,
816 bool ignore_enemy_regiments_in_supply_calculations
819 dcon::automated_army_group_id group_id,
820 dcon::province_id target,
821 std::vector<float>& regiments_expectation_ideal
825 dcon::province_id p1,
827 std::vector<dcon::province_id> & provinces
832 dcon::province_id target_province,
833 std::vector<dcon::province_id>& available_provinces,
834 std::array<uint8_t, sys::macro_builder_template::max_types>& current_distribution
constexpr uint8_t standard_popup
constexpr uint8_t standard_log
constexpr uint8_t standard_pause
std::string native_string
std::vector< dcon::nation_id > instant_research_nations
std::string national_economy_dump_buffer
std::string prices_dump_buffer
std::string supply_dump_buffer
bool always_allow_reforms
bool always_potential_decisions
bool always_allow_wargoals
bool always_allow_decisions
std::string demand_by_category_dump_buffer
bool show_province_id_tooltip
std::string demand_dump_buffer
crisis_join_offer joined_with_offer
great_nation(sys::date last_greatness, dcon::nation_id nation)
std::array< float, 32 > population_record
std::array< float, 32 > treasury_record
std::vector< dcon::state_definition_id > selectable_states
std::function< void(sys::state &, dcon::state_definition_id)> on_select
std::function< void(sys::state &)> on_cancel
void debug_scenario_oos_dump()
void select_army_group(dcon::automated_army_group_id selected_group)
uint64_t scenario_time_stamp
text::font_manager font_collection
uint32_t add_locale_data_win1252(std::string const &text)
dcon::national_identity_id crisis_liberation_tag
culture::global_cultural_state culture_definitions
network_mode_type network_mode
std::string console_command_pending
void toggle_defensive_position(dcon::automated_army_group_id group, dcon::province_id position)
std::vector< char > key_data
user_settings_s user_settings
bool adjacency_data_out_of_date
void build_up_to_template_land(macro_builder_template &target_template, dcon::province_id target_province, std::vector< dcon::province_id > &available_provinces, std::array< uint8_t, sys::macro_builder_template::max_types > ¤t_distribution)
std::vector< event::pending_human_p_event > future_p_event
void select(dcon::navy_id a)
std::atomic< bool > save_list_updated
void save_user_settings() const
rigtorp::SPSCQueue< command::payload > incoming_commands
std::vector< dcon::nation_id > nations_by_rank
std::vector< event::pending_human_p_event > pending_p_event
dcon::text_key add_key_win1252(std::string const &text)
dcon::trigger_key commit_trigger_data(std::vector< uint16_t > data)
std::vector< value_modifier_segment > value_modifier_segments
std::atomic< bool > ui_pause
std::vector< dcon::army_id > selected_armies
ankerl::unordered_dense::set< dcon::text_key, text::vector_backed_ci_hash, text::vector_backed_ci_eq > untrans_key_to_text_sequence
void on_resize(int32_t x, int32_t y, window::window_state win_state)
std::vector< dcon::navy_id > selected_navies
dcon::data_container world
std::atomic< bool > railroad_built
std::vector< crisis_member_def > crisis_participants
uint32_t add_locale_data_utf8(std::string const &text)
bool is_selected(dcon::army_id a)
void army_group_add_regiment(dcon::automated_army_group_id group, dcon::regiment_id id)
void on_lbutton_down(int32_t x, int32_t y, key_modifiers mod)
std::vector< event::pending_human_f_p_event > pending_f_p_event
rigtorp::SPSCQueue< event::pending_human_p_event > new_p_event
void army_group_distribute_tasks(dcon::automated_army_group_id group)
void fill_vector_of_connected_provinces(dcon::province_id p1, bool is_land, std::vector< dcon::province_id > &provinces)
std::vector< uint16_t > effect_data
sys::checksum_key session_host_checksum
std::atomic< int32_t > actual_game_speed
dcon::state_definition_id crisis_colony
void on_rbutton_down(int32_t x, int32_t y, key_modifiers mod)
void toggle_enforce_control_position(dcon::automated_army_group_id group, dcon::province_id position)
dcon::nation_id local_player_nation
std::atomic< bool > game_state_updated
int32_t type_localized_key
std::chrono::time_point< std::chrono::steady_clock > tooltip_timer
std::unique_ptr< sound::sound_impl > sound_ptr
dcon::effect_key commit_effect_data(std::vector< uint16_t > data)
std::vector< char > unit_names
std::vector< int32_t > trigger_data_indices
std::string_view to_string_view(dcon::text_key tag) const
uint32_t crisis_last_checked_gp
void toggle_designated_port(dcon::automated_army_group_id group, dcon::province_id position)
std::vector< uint8_t > flag_type_map
std::string_view locale_string_view(uint32_t tag) const
tagged_vector< value_modifier_description, dcon::value_modifier_key > value_modifiers
economy::global_economy_state economy_definitions
sys::checksum_key get_save_checksum()
void on_mouse_wheel(int32_t x, int32_t y, key_modifiers mod, float amount)
std::vector< char > locale_text_data
dcon::province_id get_port_for_landing(dcon::automated_army_group_id group, dcon::province_id target)
simple_fs::file_system common_fs
game_scene::scene_properties current_scene
std::unique_ptr< fif::environment > fif_environment
void deselect_army_group()
absolute_time_point start_date
absolute_time_point end_date
army_group_order selected_army_group_order
rigtorp::SPSCQueue< military::land_battle_report > land_battle_reports
std::vector< culture::flag_type > flag_types
void new_army_group(dcon::province_id hq)
void army_group_update_tasks(dcon::automated_army_group_id group)
military::global_military_state military_definitions
rigtorp::SPSCQueue< notification::message > new_messages
void remove_regiment_from_all_army_groups(dcon::regiment_id regiment_to_delete)
void smart_select_army_group(dcon::automated_army_group_id selected_group)
void remove_army_army_group_clean(dcon::automated_army_group_id group, dcon::army_id army_to_delete)
sys::checksum_key scenario_checksum
float army_group_available_supply(dcon::automated_army_group_id group, dcon::province_id province)
void open_diplomacy(dcon::nation_id target)
dcon::province_id find_available_ferry_origin(dcon::automated_army_group_id group, dcon::regiment_automation_data_id regiment)
dcon::unit_name_id add_unit_name(std::string_view text)
void remove_navy_from_army_group(dcon::automated_army_group_id selected_group, dcon::navy_id navy_to_delete)
void start_state_selection(state_selection_data &data)
std::vector< int32_t > unit_names_indices
bool diplomatic_cached_values_out_of_date
std::vector< dcon::nation_id > nations_by_military_score
std::atomic< bool > quit_signaled
void on_drag_finished(int32_t x, int32_t y, key_modifiers mod)
void on_rbutton_up(int32_t x, int32_t y, key_modifiers mod)
void add_navy_to_army_group(dcon::automated_army_group_id selected_group, dcon::navy_id selected_navy)
native_string loaded_save_file
dcon::automated_army_group_id selected_army_group
player_data player_data_cache
bool national_cached_values_out_of_date
void on_key_up(virtual_key keycode, key_modifiers mod)
void remove_regiment_from_army_group(dcon::automated_army_group_id selected_group, dcon::regiment_id selected_regiment)
void on_mouse_move(int32_t x, int32_t y, key_modifiers mod)
dcon::regiment_automation_data_id fill_province_up_to_supply_limit(dcon::automated_army_group_id group_id, dcon::province_id target, std::vector< float > ®iments_distribution, float overestimate_supply_limit, bool ignore_enemy_regiments_in_supply_calculations)
std::vector< dcon::nation_id > nations_by_industrial_score
std::string console_command_result
dcon::text_key lookup_key(std::string_view text) const
bool move_to_available_port(dcon::automated_army_group_id group, dcon::regiment_automation_data_id regiment)
void debug_save_oos_dump()
std::mutex ugly_ui_game_interaction_hack
dcon::nation_id primary_crisis_defender
std::array< diplomatic_message::message, 128 > pending_messages
std::vector< event::pending_human_n_event > future_n_event
map_mode::mode stored_map_mode
dcon::regiment_automation_data_id fill_province(dcon::automated_army_group_id group_id, dcon::province_id target, std::vector< float > ®iments_expectation_ideal)
void load_user_settings()
bool army_group_recalculate_distribution(dcon::automated_army_group_id group, std::vector< float > ®iments_distribution)
void on_lbutton_up(int32_t x, int32_t y, key_modifiers mod)
std::array< std::vector< dcon::army_id >, 10 > ctrl_armies
std::array< std::vector< dcon::navy_id >, 10 > ctrl_navies
void deselect(dcon::navy_id a)
ankerl::unordered_dense::map< dcon::text_key, uint32_t, text::vector_backed_ci_hash, text::vector_backed_ci_eq > locale_key_to_text_sequence
network::network_state network_state
void on_mouse_drag(int32_t x, int32_t y, key_modifiers mod)
void update_armies_and_fleets(dcon::automated_army_group_id group)
uint32_t scenario_counter
std::vector< great_nation > great_nations
void on_key_down(virtual_key keycode, key_modifiers mod)
crisis_type current_crisis
rigtorp::SPSCQueue< event::pending_human_f_p_event > new_f_p_event
native_string loaded_scenario_file
void add_army_to_army_group(dcon::automated_army_group_id selected_group, dcon::army_id selected_army)
void load_locale_strings(std::string_view locale_name)
void on_mbutton_up(int32_t x, int32_t y, key_modifiers mod)
province::global_provincial_state province_definitions
sys::date last_crisis_end_date
void army_group_update_regiment_status(dcon::automated_army_group_id group)
std::string console_command_error
void delete_army_group(dcon::automated_army_group_id group)
rigtorp::SPSCQueue< diplomatic_message::message > new_requests
rigtorp::SPSCQueue< event::pending_human_n_event > new_n_event
void select(dcon::army_id a)
void load_scenario_data(parsers::error_handler &err, sys::year_month_day bookmark_date)
std::vector< event::pending_human_f_n_event > pending_f_n_event
std::vector< dcon::nation_id > nations_by_prestige_score
void regiment_reset_order(dcon::regiment_automation_data_id regiment)
void on_mbutton_down(int32_t x, int32_t y, key_modifiers mod)
dcon::state_instance_id crisis_state
dcon::text_key add_key_utf8(std::string const &text)
bool key_is_localized(dcon::text_key tag) const
dcon::nation_id primary_crisis_attacker
std::vector< int32_t > effect_data_indices
void deselect(dcon::army_id a)
std::vector< event::pending_human_n_event > pending_n_event
std::mutex lock_console_strings
bool is_selected(dcon::navy_id a)
rigtorp::SPSCQueue< military::naval_battle_report > naval_battle_reports
void state_select(dcon::state_definition_id sdef)
std::chrono::time_point< std::chrono::steady_clock > last_update
std::vector< uint16_t > trigger_data
std::unique_ptr< window::window_data_impl > win_ptr
crisis_mode current_crisis_mode
void console_log(std::string_view message)
void update_ui_scale(float new_scale)
std::optional< state_selection_data > state_selection
rigtorp::SPSCQueue< event::pending_human_f_n_event > new_f_n_event
std::atomic< bool > province_ownership_changed
nations::global_national_state national_definitions
bool left_mouse_click_hold_and_release
bool wasd_for_map_movement
projection_mode map_is_globe
bool diplomatic_message_popup
uint8_t interesting_message_settings[int32_t(sys::message_setting_type::count)]
autosave_frequency autosaves
uint8_t self_message_settings[int32_t(sys::message_setting_type::count)]
bool notify_rebels_defeat
uint8_t other_message_settings[int32_t(sys::message_setting_type::count)]
map_vassal_color_mode vassal_color
bool mouse_edge_scrolling