10 float total_army_weight = 0.f;
11 for(
auto army :
list) {
13 if(ar.get_black_flag() ==
false && ar.get_is_retreating() ==
false && !
bool(ar.get_navy_from_army_transport())) {
14 for(
auto rg : ar.get_army_membership()) {
15 total_army_weight += 3.0f * rg.get_regiment().get_strength();
19 for(
auto ar :
state.world.province_get_army_location(prov)) {
20 if(ar.get_army().get_black_flag() ==
false && ar.get_army().get_is_retreating() ==
false && !
bool(ar.get_army().get_navy_from_army_transport())) {
21 for(
auto rg : ar.get_army().get_army_membership()) {
22 total_army_weight += 3.0f * rg.get_regiment().get_strength();
26 auto prov_attrition_mod =
state.world.province_get_modifier_values(prov, sys::provincial_mod_offsets::attrition);
29 auto attrition_mod = 1.0f + army_controller.get_modifier_values(sys::national_mod_offsets::land_attrition);
30 float greatest_hostile_fort = 0.0f;
31 for(
auto adj :
state.world.province_get_province_adjacency(prov)) {
33 auto other = adj.get_connected_provinces(0) != prov ? adj.get_connected_provinces(0) : adj.get_connected_provinces(1);
41 return total_army_weight * attrition_mod - (supply_limit + prov_attrition_mod + greatest_hostile_fort) > 0;
46 auto owner = fat.get_nation_from_province_ownership();
49 if(
state.cheat_data.show_province_id_tooltip) {
81 if(
state.selected_armies.size() > 0) {
87 for(
const auto a :
state.selected_armies) {
91 auto tag_str = std::string(
"@") +
nations::int_to_tag(controller.get_identity_from_identity_holder().get_identifying_int()) +
"@(A)";
104 auto curprov = army.get_army_location().get_location().id;
106 if (path.size() == 0) { }
108 else if(army.get_arrival_time() && *(army.get_path().end()) == prov) {
115 auto dt =
state.current_date;
117 for(
const auto provonpath : path) {
119 curprov = provonpath;
127 if(
state.current_date + 15 > dt) {
130 else if(
state.current_date + 30 < dt) {
140 }
else if(
state.selected_navies.size() > 0) {
145 for(
const auto n :
state.selected_navies) {
149 auto curprov = navy.get_navy_location().get_location().id;
152 if(path.size() == 0 && prov != curprov) {
158 auto unit_name =
state.to_string_view(navy.get_name());
169 if(prov == curprov) {
171 else if(navy.get_arrival_time() && *(navy.get_path().end()) == prov) {
177 auto dt =
state.current_date;
179 for(
const auto provonpath : path) {
181 curprov = provonpath;
189 if(
state.current_date + 15 > dt) {
191 }
else if(
state.current_date + 30 < dt) {
215 if(fat.get_terrain().id) {
222 if(
auto n =
state.world.province_get_nation_from_province_control(prov); n && n !=
state.world.province_get_nation_from_province_ownership(prov)) {
229 }
else if(
auto rf =
state.world.province_get_rebel_faction_from_province_rebel_control(prov); rf) {
244 if(prov.value <
state.province_definitions.first_sea_province.value) {
257 if(prov.value <
state.province_definitions.first_sea_province.value) {
259 dcon::nation_fat_id nationundermouse = fat.get_nation_from_province_ownership();
261 if(nationundermouse) {
262 dcon::nation_fat_id selectednation = (
dcon::fatten(
state.world,
state.map_state.selected_province).get_nation_from_province_ownership().is_valid()) ?
267 if(nationundermouse.get_overlord_as_subject().get_ruler() == selectednation && nationundermouse.get_is_substate()) {
270 }
else if(selectednation.get_overlord_as_subject().get_ruler() == nationundermouse && selectednation.get_is_substate()) {
273 }
else if(nationundermouse.get_overlord_as_subject().get_ruler() == selectednation && !nationundermouse.get_is_substate()) {
276 }
else if(selectednation.get_overlord_as_subject().get_ruler() == nationundermouse && !selectednation.get_is_substate()) {
279 }
else if(selectednation.get_is_great_power() && nationundermouse != selectednation) {
288 for(
auto c : fat.get_core()) {
303 if(prov.value <
state.province_definitions.first_sea_province.value) {
318 if(prov.value <
state.province_definitions.first_sea_province.value) {
333 if(prov.value <
state.province_definitions.first_sea_province.value) {
335 if(fat.get_is_coast()) {
346 if(fat.get_life_rating() >
state.world.nation_get_modifier_values(
state.local_player_nation, sys::national_mod_offsets::colonial_life_rating)) {
364 for(
auto coloniser : fat.get_state_from_abstract_state_membership().get_colonization()) {
379 if(prov.value <
state.province_definitions.first_sea_province.value) {
383 if(fat.get_crime()) {
395 if(prov.value <
state.province_definitions.first_sea_province.value) {
402 if(fat.get_nation_from_province_ownership().id.value ==
state.local_player_nation.value) {
403 if(max_regiments == 0) {
405 }
else if(created_regiments < max_regiments) {
427 if(prov.value <
state.province_definitions.first_sea_province.value) {
429 if(fat.get_state_membership().get_owner_focus()) {
442 if(prov.value <
state.province_definitions.first_sea_province.value) {
453 if(prov.value <
state.province_definitions.first_sea_province.value) {
471 if(prov.value <
state.province_definitions.first_sea_province.value) {
476 std::vector<dcon::culture_fat_id> cultures;
477 for(
auto pop : fat.get_pop_location()) {
478 if(std::find(cultures.begin(), cultures.end(), pop.get_pop().get_culture()) == cultures.end()) {
479 cultures.push_back(pop.get_pop().get_culture());
482 std::sort(cultures.begin(), cultures.end(), [&](
auto a,
auto b) {return fat.get_demographics(demographics::to_key(state, a.id)) > fat.get_demographics(demographics::to_key(state, b.id)); });
483 for(
size_t i = 0; i < cultures.size(); i++) {
501 if(prov.value <
state.province_definitions.first_sea_province.value) {
503 if(fat.get_nation_from_province_ownership().get_is_great_power()) {
506 if(fat.get_nation_from_province_ownership().get_in_sphere_of().is_valid()) {
513 bool bHasDisplayedHeader =
false;
514 for(
auto gpr : fat.get_nation_from_province_ownership().get_gp_relationship_as_influence_target()) {
515 if(!bHasDisplayedHeader) {
519 bHasDisplayedHeader =
true;
538 if(prov.value <
state.province_definitions.first_sea_province.value) {
549 auto prov_controller =
state.world.province_get_nation_from_province_control(prov);
550 auto self_controlled = prov_controller ==
state.local_player_nation;
551 if(
state.world.province_get_nation_from_province_ownership(prov) ==
state.local_player_nation && self_controlled) {
556 }
else if(
auto dip_rel =
state.world.get_diplomatic_relation_by_diplomatic_pair(prov_controller,
state.local_player_nation);
state.world.diplomatic_relation_get_are_allied(dip_rel) || fat.get_nation_from_province_control().get_overlord_as_subject().get_ruler() ==
state.local_player_nation) {
561 }
else if(
auto uni_rel =
state.world.get_unilateral_relationship_by_unilateral_pair(prov_controller,
state.local_player_nation);
state.world.unilateral_relationship_get_military_access(uni_rel)) {
566 }
else if(
bool(
state.world.get_core_by_prov_tag_key(prov,
state.world.nation_get_identity_from_identity_holder(
state.local_player_nation)))) {
571 }
else if(
state.world.province_get_siege_progress(prov) > 0.0f) {
585 if(prov.value <
state.province_definitions.first_sea_province.value) {
588 std::vector<dcon::political_party_id> active_parties;
590 for(
auto party : active_parties) {
592 auto loyalty =
state.world.province_get_party_loyalty(prov,
dcon::fatten(
state.world, party).get_ideology().id);
614 if(prov.value <
state.province_definitions.first_sea_province.value) {
642 auto owner = fat.get_nation_from_province_ownership();
653 struct nation_and_value {
658 static dcon::nation_id last_owner;
660 static std::vector<float> last_value;
661 static std::vector<nation_and_value> positive_vals;
662 static std::vector<nation_and_value> neg_vals;
663 static float total_pos = 0.0f;
664 static float total_neg = 0.0f;
666 auto d =
state.ui_date;
667 if(d != last_checked || last_owner != owner) {
674 positive_vals.clear();
677 dcon::nation_id in{ dcon::nation_id::value_base_t(i) };
678 if(last_value[i] > 0.0f) {
679 positive_vals.push_back(nation_and_value{ last_value[i],in });
680 total_pos += last_value[i];
681 }
else if(last_value[i] < 0.0f) {
682 neg_vals.push_back(nation_and_value{ last_value[i],in });
683 total_neg += last_value[i];
687 std::sort(positive_vals.begin(), positive_vals.end(), [](nation_and_value
const& a, nation_and_value
const& b) {
690 std::sort(neg_vals.begin(), neg_vals.end(), [](nation_and_value
const& a, nation_and_value
const& b) {
697 float total_accounted_for = 0.0f;
698 for(
uint32_t i = 0; i < positive_vals.size() && i < 10; ++i) {
699 total_accounted_for += positive_vals[i].v;
710 if(total_pos - total_accounted_for >= 1.0f) {
720 total_accounted_for = 0.0f;
721 for(
uint32_t i = 0; i < neg_vals.size() && i < 10; ++i) {
722 total_accounted_for += neg_vals[i].v;
733 if(total_neg - total_accounted_for <= -1.0f) {
749 if(prov.value <
state.province_definitions.first_sea_province.value) {
773 auto civpro =
state.world.nation_get_modifier_values(fat.get_nation_from_province_ownership().id, sys::national_mod_offsets::civilization_progress_modifier);
783 auto civpro =
state.world.nation_get_modifier_values(fat.get_nation_from_province_ownership().id, sys::national_mod_offsets::civilization_progress_modifier);
793 auto civpro =
state.world.nation_get_modifier_values(fat.get_nation_from_province_ownership().id, sys::national_mod_offsets::civilization_progress_modifier);
811 if(prov.value <
state.province_definitions.first_sea_province.value) {
815 &&
dcon::fatten(
state.world,
state.map_state.selected_province).get_nation_from_province_ownership() != fat.get_nation_from_province_ownership()) {
817 auto rel =
state.world.get_diplomatic_relation_by_diplomatic_pair(fat.get_nation_from_province_ownership().id,
dcon::fatten(
state.world,
state.map_state.selected_province).get_nation_from_province_ownership());
827 auto rel =
state.world.get_diplomatic_relation_by_diplomatic_pair(fat.get_nation_from_province_ownership().id,
state.local_player_nation);
843 if(prov.value <
state.province_definitions.first_sea_province.value) {
854 if(prov.value <
state.province_definitions.first_sea_province.value
855 && fat.get_nation_from_province_ownership().id.value ==
state.local_player_nation.value
856 && fat.get_is_coast()) {
859 dcon::province_id navalprov{};
860 for(
auto p : fat.get_state_from_abstract_state_membership().get_abstract_state_membership()) {
862 navalprov = p.get_province().id;
897 if(prov.value <
state.province_definitions.first_sea_province.value) {
902 std::vector<dcon::religion_fat_id> religions;
903 for(
auto pop : fat.get_pop_location()) {
904 if(std::find(religions.begin(), religions.end(), pop.get_pop().get_religion()) == religions.end()) {
905 religions.push_back(pop.get_pop().get_religion());
908 std::sort(religions.begin(), religions.end(), [&](
auto a,
auto b) {return fat.get_demographics(demographics::to_key(state, a.id)) > fat.get_demographics(demographics::to_key(state, b.id)); });
910 for(
size_t i = 0; i < religions.size(); i++) {
928 if(prov.value <
state.province_definitions.first_sea_province.value) {
933 std::vector<dcon::issue_option_fat_id>
issues;
934 state.world.for_each_issue_option([&](dcon::issue_option_id
id) {
936 issues.push_back(dcon::fatten(state.world, id));
939 std::sort(
issues.begin(),
issues.end(), [&](
auto a,
auto b) {return fat.get_demographics(demographics::to_key(state, a)) > fat.get_demographics(demographics::to_key(state, b)); });
940 for(
size_t i = 0; i < std::min(static_cast<size_t>(5),
issues.size()); i++) {
958 if(prov.value <
state.province_definitions.first_sea_province.value) {
961 for(
auto pop : fat.get_pop_location()) {
962 savings += pop.get_pop().get_savings();
974 if(prov.value <
state.province_definitions.first_sea_province.value) {
979 std::vector<dcon::ideology_fat_id> ideologies;
981 state.world.for_each_ideology([&](dcon::ideology_id
id) {
983 ideologies.push_back(dcon::fatten(state.world, id));
986 std::sort(ideologies.begin(), ideologies.end(), [&](
auto a,
auto b) {return fat.get_demographics(demographics::to_key(state, a.id)) > fat.get_demographics(demographics::to_key(state, b.id)); });
987 for(
size_t i = 0; i < ideologies.size(); i++) {
1005 if(prov.value <
state.province_definitions.first_sea_province.value) {
1019 if(prov.value <
state.province_definitions.first_sea_province.value) {
1035 if(prov.value <
state.province_definitions.first_sea_province.value) {
1051 if(prov.value <
state.province_definitions.first_sea_province.value && fat.get_nation_from_province_ownership()) {
1054 auto region = fat.get_state_membership();
1058 std::vector<dcon::factory_fat_id>
factories;
1059 for(
auto m : fat.get_state_from_abstract_state_membership().get_abstract_state_membership()) {
1060 auto p = m.get_province();
1061 if(p.get_nation_from_province_ownership() == fat.get_nation_from_province_ownership()) {
1062 for(
auto f : p.get_factory_location()) {
1067 std::sort(
factories.begin(),
factories.end(), [&](
auto a,
auto b) {return a.get_level() > b.get_level(); });
1070 for(
size_t i = 0; i <
factories.size(); i++) {
1089 if(prov.value <
state.province_definitions.first_sea_province.value) {
1113 if(prov.value <
state.province_definitions.first_sea_province.value) {
1127 if(prov.value <
state.province_definitions.first_sea_province.value) {
1128 auto total_rebels = 0.f;
1129 std::vector<std::pair<dcon::rebel_faction_id, float>> rebel_factions;
1130 for(
auto pop : fat.get_pop_location()) {
1131 if(pop.get_pop().get_pop_rebellion_membership().get_rebel_faction()) {
1132 auto fid = pop.get_pop().get_pop_rebellion_membership().get_rebel_faction().id;
1133 auto rebel_pop = pop.get_pop().get_size();
1134 auto f = std::find_if(rebel_factions.begin(), rebel_factions.end(), [fid](
const auto& pair) {
1135 return pair.first == fid;
1137 if(f != rebel_factions.end()) {
1138 f->second += rebel_pop;
1140 rebel_factions.push_back(std::make_pair(fid, rebel_pop));
1142 total_rebels += pop.get_pop().get_size();
1145 std::sort(rebel_factions.begin(), rebel_factions.end(), [&](
auto a,
auto b) {return a.second > b.second; });
1149 if(total_rebels <= 0.f) {
1155 for(
size_t i = 0; i < rebel_factions.size(); i++) {
1173 if(prov.value <
state.province_definitions.first_sea_province.value) {
1174 auto n =
state.world.province_get_nation_from_province_ownership(prov);
1180 auto nickname =
state.world.mp_player_get_nickname(p);
1182 if(n ==
state.local_player_nation) {
1188 }
else if(
state.world.nation_get_is_player_controlled(n)) {
1191 if(!
state.world.nation_get_is_player_controlled(n)) {
1201 if(prov.value <
state.province_definitions.first_sea_province.value) {
1204 for(
const auto pl :
state.world.province_get_pop_location_as_province(prov)) {
1206 total += pl.get_pop().get_size();
1209 float ratio = value / total;
1221 if(prov.value <
state.province_definitions.first_sea_province.value) {
1224 for(
const auto pl :
state.world.province_get_pop_location_as_province(prov)) {
1226 total += pl.get_pop().get_size();
1229 float ratio = value / total;
1241 if(prov.value <
state.province_definitions.first_sea_province.value) {
1244 for(
const auto pl :
state.world.province_get_pop_location_as_province(prov)) {
1246 total += pl.get_pop().get_size();
1249 float ratio = value / total;
1261 if(prov.value <
state.province_definitions.first_sea_province.value) {
1264 float ratio = value / std::max(1.f, total);
1277 if(prov.value <
state.province_definitions.first_sea_province.value) {
1280 float ratio = total_pw / std::max(1.f, total_pw + total_sw);
1294 if(prov.value <
state.province_definitions.first_sea_province.value) {
1305 if(prov.value <
state.province_definitions.first_sea_province.value &&
state.world.province_get_crime(prov)) {
1317 if(prov.value <
state.province_definitions.first_sea_province.value) {
1325 if(prov.value <
state.province_definitions.first_sea_province.value) {
1332 for(
const auto pt :
state.world.in_pop_type) {
1352 if(prov.value <
state.province_definitions.first_sea_province.value) {
1370 if(
auto n =
state.world.province_get_nation_from_province_ownership(prov); n) {
1408 if(fat_id.get_primary_culture()) {
1414 if(fat_id.get_religion()) {
1420 if(fat_id.get_dominant_religion()) {
1426 if(fat_id.get_dominant_ideology()) {
1438 if(
state.current_scene.overwrite_map_tooltip) {
1443 switch(
state.map_state.active_map_mode) {
dcon::text_key get_name() noexcept
std::vector< dcon::province_id > calculate_navy_path(sys::state &state, dcon::nation_id source, dcon::navy_id n, dcon::province_id last_province, dcon::province_id dest)
std::vector< dcon::province_id > calculate_army_path(sys::state &state, dcon::nation_id source, dcon::army_id a, dcon::province_id last_province, dcon::province_id dest)
pop_satisfaction_wrapper_fat fatten(data_container const &c, pop_satisfaction_wrapper_id id) noexcept
void estimate_directed_immigration(sys::state &state, dcon::nation_id n, std::vector< float > &national_amounts)
constexpr dcon::demographics_key middle_total(21)
constexpr dcon::demographics_key total(0)
dcon::demographics_key to_key(sys::state const &state, dcon::pop_type_id v)
constexpr dcon::demographics_key employable(1)
constexpr dcon::demographics_key consciousness(3)
constexpr dcon::demographics_key rich_total(22)
constexpr dcon::demographics_key poor_total(20)
constexpr dcon::demographics_key employed(2)
float get_monthly_pop_increase(sys::state &state, dcon::pop_id ids)
constexpr dcon::demographics_key literacy(5)
@ clerk_to_craftsmen_ratio
int32_t regiments_under_construction_in_province(sys::state &state, dcon::province_id p)
int32_t mobilized_regiments_created_from_province(sys::state &state, dcon::province_id p)
uint32_t naval_supply_from_naval_base(sys::state &state, dcon::province_id prov, dcon::nation_id nation)
int32_t regiments_created_from_province(sys::state &state, dcon::province_id p)
int32_t mobilized_regiments_possible_from_province(sys::state &state, dcon::province_id p)
bool are_at_war(sys::state const &state, dcon::nation_id a, dcon::nation_id b)
int32_t supply_limit_in_province(sys::state &state, dcon::nation_id n, dcon::province_id p)
int32_t movement_time_from_to(sys::state &state, dcon::army_id a, dcon::province_id from, dcon::province_id to)
int32_t regiments_max_possible_from_province(sys::state &state, dcon::province_id p)
int32_t naval_supply_points(sys::state &state, dcon::nation_id n)
constexpr uint8_t level_mask
int32_t get_level(sys::state &state, dcon::nation_id gp, dcon::nation_id target)
status get_status(sys::state &state, dcon::nation_id n)
std::string int_to_tag(uint32_t v)
void get_active_political_parties(sys::state &state, dcon::nation_id n, std::vector< dcon::political_party_id > &parties)
dcon::mp_player_id find_country_player(sys::state &state, dcon::nation_id nation)
float get_luxury_needs(sys::state const &state, dcon::pop_id p)
float get_life_needs(sys::state const &state, dcon::pop_id p)
float get_everyday_needs(sys::state const &state, dcon::pop_id p)
constexpr uint8_t impassible_bit
constexpr uint8_t coastal_bit
float direct_distance(sys::state &state, dcon::province_id a, dcon::province_id b)
float sorting_distance(sys::state &state, dcon::province_id a, dcon::province_id b)
bool has_an_owner(sys::state &state, dcon::province_id id)
bool has_naval_base_being_built(sys::state &state, dcon::province_id id)
bool is_overseas(sys::state const &state, dcon::province_id ids)
bool can_build_fort(sys::state &state, dcon::province_id id, dcon::nation_id n)
bool can_start_colony(sys::state &state, dcon::nation_id n, dcon::state_definition_id d)
bool has_fort_being_built(sys::state &state, dcon::province_id id)
float revolt_risk(sys::state &state, dcon::province_id id)
float state_admin_efficiency(sys::state &state, dcon::state_instance_id id)
std::string rebel_name(sys::state &state, dcon::rebel_faction_id reb)
void add_line_break_to_layout_box(sys::state &state, layout_base &dest, layout_box &box)
void add_to_layout_box(sys::state &state, layout_base &dest, layout_box &box, embedded_flag ico)
std::string resolve_string_substitution(sys::state &state, dcon::text_key source_text, substitution_map const &mp)
layout_box open_layout_box(layout_base &dest, int32_t indent)
void add_unparsed_text_to_layout_box(sys::state &state, layout_base &dest, layout_box &box, std::string_view sv, substitution_map const &mp)
void localised_single_sub_box(sys::state &state, layout_base &dest, layout_box &box, std::string_view key, variable_type subkey, substitution value)
void localised_format_box(sys::state &state, layout_base &dest, layout_box &box, std::string_view key, text::substitution_map const &sub)
std::string prettify(int64_t num)
std::string format_float(float num, size_t digits)
void add_line(sys::state &state, layout_base &dest, dcon::text_key txt, int32_t indent)
void add_line_with_condition(sys::state &state, layout_base &dest, std::string_view key, bool condition_met, int32_t indent)
void add_line_break_to_layout(sys::state &state, columnar_layout &dest)
void add_to_substitution_map(substitution_map &mp, variable_type key, substitution value)
void add_divider_to_layout_box(sys::state &state, layout_base &dest, layout_box &box)
ankerl::unordered_dense::map< uint32_t, substitution > substitution_map
std::string produce_simple_string(sys::state const &state, dcon::text_key id)
dcon::text_key get_name(sys::state &state, dcon::nation_id id)
std::string format_percentage(float num, size_t digits)
std::string get_influence_level_name(sys::state const &state, uint8_t v)
void add_space_to_layout_box(sys::state &state, layout_base &dest, layout_box &box)
std::string get_province_state_name(sys::state &state, dcon::province_id prov_id)
std::string prettify_currency(float num)
void close_layout_box(columnar_layout &dest, layout_box &box)
void terrain_map_tt_box(sys::state &state, text::columnar_layout &contents, dcon::province_id prov)
void life_needs_map_tt_box(sys::state &state, text::columnar_layout &contents, dcon::province_id prov)
unitamounts calc_amounts_from_navy(sys::state &state, dcon::navy_fat_id navy)
void colonial_map_tt_box(sys::state &state, text::columnar_layout &contents, dcon::province_id prov)
void workforce_map_tt_box(sys::state &state, text::columnar_layout &contents, dcon::province_id prov)
void modifier_description(sys::state &state, text::layout_base &layout, dcon::modifier_id mid, int32_t indentation=0)
void recruitment_map_tt_box(sys::state &state, text::columnar_layout &contents, dcon::province_id prov)
void picking_map_tt_box(sys::state &state, text::columnar_layout &contents, dcon::province_id prov)
void country_name_box(sys::state &state, text::columnar_layout &contents, dcon::province_id prov)
void populate_map_tooltip(sys::state &state, text::columnar_layout &contents, dcon::province_id prov)
void income_map_tt_box(sys::state &state, text::columnar_layout &contents, dcon::province_id prov)
void factory_map_tt_box(sys::state &state, text::columnar_layout &contents, dcon::province_id prov)
void diplomatic_map_tt_box(sys::state &state, text::columnar_layout &contents, dcon::province_id prov)
void employment_map_tt_box(sys::state &state, text::columnar_layout &contents, dcon::province_id prov)
void party_loyalty_map_tt_box(sys::state &state, text::columnar_layout &contents, dcon::province_id prov)
void rally_map_tt_box(sys::state &state, text::columnar_layout &contents, dcon::province_id prov)
void fort_map_tt_box(sys::state &state, text::columnar_layout &contents, dcon::province_id prov)
void ideology_map_tt_box(sys::state &state, text::columnar_layout &contents, dcon::province_id prov)
void life_rating_map_tt_box(sys::state &state, text::columnar_layout &contents, dcon::province_id prov)
void crime_map_tt_box(sys::state &state, text::columnar_layout &contents, dcon::province_id prov)
unitamounts calc_amounts_from_army(sys::state &state, dcon::army_fat_id army)
void officers_map_tt_box(sys::state &state, text::columnar_layout &contents, dcon::province_id prov)
void political_map_tt_box(sys::state &state, text::columnar_layout &contents, dcon::province_id prov)
void admin_map_tt_box(sys::state &state, text::columnar_layout &contents, dcon::province_id prov)
void population_map_tt_box(sys::state &state, text::columnar_layout &contents, dcon::province_id prov)
void literacy_map_tt_box(sys::state &state, text::columnar_layout &contents, dcon::province_id prov)
void relation_map_tt_box(sys::state &state, text::columnar_layout &contents, dcon::province_id prov)
void naval_map_tt_box(sys::state &state, text::columnar_layout &contents, dcon::province_id prov)
void mobilization_map_tt_box(sys::state &state, text::columnar_layout &contents, dcon::province_id prov)
void con_map_tt_box(sys::state &state, text::columnar_layout &contents, dcon::province_id prov)
void nationalfocus_map_tt_box(sys::state &state, text::columnar_layout &contents, dcon::province_id prov)
void civilsation_level_map_tt_box(sys::state &state, text::columnar_layout &contents, dcon::province_id prov)
void issues_map_tt_box(sys::state &state, text::columnar_layout &contents, dcon::province_id prov)
void supply_map_tt_box(sys::state &state, text::columnar_layout &contents, dcon::province_id prov)
void infrastructure_map_tt_box(sys::state &state, text::columnar_layout &contents, dcon::province_id prov)
void militancy_map_tt_box(sys::state &state, text::columnar_layout &contents, dcon::province_id prov)
void revolt_map_tt_box(sys::state &state, text::columnar_layout &contents, dcon::province_id prov)
void ctc_map_tt_box(sys::state &state, text::columnar_layout &contents, dcon::province_id prov)
void nationality_map_tt_box(sys::state &state, text::columnar_layout &contents, dcon::province_id prov)
void region_map_tt_box(sys::state &state, text::columnar_layout &contents, dcon::province_id prov)
void growth_map_tt_box(sys::state &state, text::columnar_layout &contents, dcon::province_id prov)
void luxury_needs_map_tt_box(sys::state &state, text::columnar_layout &contents, dcon::province_id prov)
void rank_map_tt_box(sys::state &state, text::columnar_layout &contents, dcon::province_id prov)
void crisis_map_tt_box(sys::state &state, text::columnar_layout &contents, dcon::province_id prov)
void sphere_map_tt_box(sys::state &state, text::columnar_layout &contents, dcon::province_id prov)
void rgooutput_map_tt_box(sys::state &state, text::columnar_layout &contents, dcon::province_id prov)
void religion_map_tt_box(sys::state &state, text::columnar_layout &contents, dcon::province_id prov)
void migration_map_tt_box(sys::state &state, text::columnar_layout &contents, dcon::province_id prov)
void players_map_tt_box(sys::state &state, text::columnar_layout &contents, dcon::province_id prov)
void active_modifiers_description(sys::state &state, text::layout_base &layout, dcon::nation_id n, int32_t identation, dcon::national_modifier_value nmid, bool header)
float selected_relative_attrition_amount(sys::state &state, dcon::nation_id n, std::vector< dcon::army_id > &list, dcon::province_id prov)
void everyday_needs_map_tt_box(sys::state &state, text::columnar_layout &contents, dcon::province_id prov)
Holds important data about the game world, state, and other data regarding windowing,...