├── qml.qrc
├── .gitignore
├── game
├── tick_period.h
└── game_speed.h
├── util
├── image_util.h
├── number_util.cpp
├── set_util.h
├── vector_random_util.h
├── point_util.cpp
├── point_container.cpp
├── exception_util.h
├── point_container.h
├── geocoordinate_util.cpp
├── empty_image_provider.h
├── random.cpp
├── qunique_ptr.h
├── polygon_util.h
├── polygon_util.cpp
├── image_util.cpp
├── type_traits.h
├── singleton.h
├── map_util.h
├── filesystem_util.h
├── random.h
├── vector_util.h
├── rect_util.h
├── container_util.h
├── translator.h
└── parse_util.h
├── technology
├── technology_compare.h
├── technology_set.h
├── technology_area_compare.h
├── technology_map.h
├── technology_area_compare.cpp
├── technology_compare.cpp
├── technology_category.h
├── technology_area.h
└── technology_area.cpp
├── landed_title
└── landed_title_tier.h
├── script
├── event
│ ├── event.h
│ ├── event_instance.cpp
│ ├── event_trigger.cpp
│ ├── event_option.h
│ ├── scoped_event_base.h
│ ├── character_event.h
│ ├── event_instance.h
│ ├── event_trigger.h
│ └── event_option.cpp
├── decision
│ ├── decision.cpp
│ ├── decision.h
│ ├── filter
│ │ ├── decision_filter.cpp
│ │ └── decision_filter.h
│ ├── scoped_decision.h
│ ├── holding_decision.h
│ └── holding_decision.cpp
├── flag
│ └── scoped_flag.h
├── effect
│ ├── location_effect.h
│ ├── source_effect.h
│ ├── effect_list.h
│ ├── holding_type_effect.h
│ ├── flags_effect.h
│ ├── items_effect.h
│ ├── scripted_effect_effect.h
│ ├── traits_effect.h
│ ├── tooltip_effect.h
│ ├── event_effect.h
│ ├── wealth_effect.h
│ ├── for_effect.h
│ ├── if_effect.h
│ ├── scripted_effect.h
│ └── effect_list.cpp
├── context.h
├── modifier_effect
│ ├── modifier_effect.h
│ ├── prowess_modifier_effect.h
│ ├── levy_modifier_effect.h
│ ├── troop_attack_modifier_effect.h
│ ├── troop_defense_modifier_effect.h
│ ├── population_growth_modifier_effect.h
│ ├── population_capacity_modifier_effect.h
│ └── population_capacity_modifier_modifier_effect.h
├── province_modifier.h
├── condition
│ ├── location_condition.h
│ ├── has_flag_condition.h
│ ├── region_condition.h
│ ├── condition_check_base.h
│ ├── coastal_condition.h
│ ├── has_law_condition.h
│ ├── hidden_condition.h
│ ├── has_item_condition.h
│ ├── alive_condition.h
│ ├── has_trait_condition.h
│ ├── has_technology_condition.h
│ ├── condition_check.h
│ ├── borders_water_condition.h
│ ├── has_any_trade_route_condition.h
│ ├── has_building_condition.h
│ ├── ai_condition.h
│ ├── culture_condition.h
│ ├── world_condition.h
│ ├── holding_type_condition.h
│ ├── terrain_condition.h
│ ├── commodity_condition.h
│ ├── has_any_active_trade_route_condition.h
│ ├── has_technology_condition.cpp
│ └── has_any_trade_route_land_connection_condition.h
├── chance_factor.h
├── modifier.h
├── factor_modifier.h
├── chance_util.h
├── holding_modifier.h
├── scope_util.h
├── modifier.cpp
├── factor_modifier.cpp
└── chance_factor.cpp
├── character
├── enemy.cpp
├── trait.cpp
├── enemy.h
├── dynasty.h
├── item.cpp
└── dynasty.cpp
├── religion
├── religion_group.cpp
├── religion.cpp
├── religion_group.h
└── religion.h
├── database
├── gsml_operator.h
├── data_type_base.h
├── csv_data.h
├── module.cpp
├── gsml_data_visitor.h
├── gsml_parser.h
├── gsml_property_visitor.h
├── gsml_property.cpp
├── gsml_element_visitor.h
├── simple_data_type.h
├── gsml_property.h
├── defines.cpp
├── csv_data.cpp
└── gsml_data.cpp
├── map
├── world_type.cpp
├── map_mode.h
├── pathfinder.h
├── province_profile.h
├── world_type.h
├── terrain_type.cpp
├── map.h
└── province_profile.cpp
├── warfare
├── troop_type_map.h
├── troop_type_map.cpp
└── troop_type.cpp
├── population
├── population_unit_base.cpp
└── population_type.cpp
├── species
├── species.cpp
└── wildlife_unit.h
├── politics
├── law_group.h
├── law.h
├── government_type.cpp
├── government_type_group.h
└── government_type.h
├── culture
├── culture_supergroup.h
├── culture_group.h
├── culture_group.cpp
├── culture.h
└── culture_base.cpp
├── qml_code_style.xml
├── economy
├── employment_owner.cpp
├── employee.cpp
├── commodity.cpp
├── employee.h
├── employment_owner.h
└── employment.h
├── README.md
├── LICENSE
├── history
├── history.h
├── timeline.h
└── calendar.h
├── holding
└── holding_type.cpp
├── pch.h
├── third_party
└── maskedmousearea
│ └── LICENSE
└── Coding Guidelines.txt
/qml.qrc:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
--------------------------------------------------------------------------------
/.gitignore:
--------------------------------------------------------------------------------
1 | build*/
2 | Metternich.pro.user
3 | Metternich.pro.user.4.10-pre1
4 | *.autosave.*
--------------------------------------------------------------------------------
/game/tick_period.h:
--------------------------------------------------------------------------------
1 | #pragma once
2 |
3 | namespace metternich {
4 |
5 | enum class tick_period
6 | {
7 | millenium,
8 | day
9 | };
10 |
11 | }
12 |
--------------------------------------------------------------------------------
/util/image_util.h:
--------------------------------------------------------------------------------
1 | #pragma once
2 |
3 | #include
4 | #include
5 |
6 | namespace metternich::image {
7 |
8 | extern std::set get_rgbs(const QImage &image);
9 |
10 | }
11 |
--------------------------------------------------------------------------------
/technology/technology_compare.h:
--------------------------------------------------------------------------------
1 | #pragma once
2 |
3 | namespace metternich {
4 |
5 | class technology;
6 |
7 | struct technology_compare
8 | {
9 | bool operator()(technology *a, technology *b) const;
10 | };
11 |
12 | }
13 |
--------------------------------------------------------------------------------
/technology/technology_set.h:
--------------------------------------------------------------------------------
1 | #pragma once
2 |
3 | #include "technology/technology_compare.h"
4 |
5 | #include
6 |
7 | namespace metternich {
8 |
9 | using technology_set = std::set;
10 |
11 | }
12 |
--------------------------------------------------------------------------------
/technology/technology_area_compare.h:
--------------------------------------------------------------------------------
1 | #pragma once
2 |
3 | namespace metternich {
4 |
5 | class technology_area;
6 |
7 | struct technology_area_compare
8 | {
9 | bool operator()(technology_area *a, technology_area *b) const;
10 | };
11 |
12 | }
13 |
--------------------------------------------------------------------------------
/technology/technology_map.h:
--------------------------------------------------------------------------------
1 | #pragma once
2 |
3 | #include "technology/technology_compare.h"
4 |
5 | #include