11#include " MenuSingleton.hpp"
2+ #include " openvic-simulation/map/ProvinceDefinition.hpp"
23
34#include < type_traits>
45
@@ -259,21 +260,22 @@ Error MenuSingleton::population_menu_select_province_list_entry(int32_t select_i
259260}
260261
261262Error MenuSingleton::population_menu_select_province (int32_t province_number) {
263+ const ProvinceDefinition::index_t province_index = ProvinceDefinition::get_index_from_province_number (province_number);
262264 GameSingleton const * game_singleton = GameSingleton::get_singleton ();
263265 ERR_FAIL_NULL_V (game_singleton, FAILED );
264266 InstanceManager const * instance_manager = game_singleton->get_instance_manager ();
265267 ERR_FAIL_NULL_V (instance_manager, FAILED );
266268
267269 ERR_FAIL_COND_V (
268- province_number <= 0 || province_number > instance_manager->get_map_instance ().get_province_instance_by_definition ().get_count ( ),
270+ ! instance_manager->get_map_instance ().get_province_instance_by_definition ().contains_index (province_index ),
269271 FAILED
270272 );
271273
272274 struct entry_visitor_t {
273275
274276 MenuSingleton& menu_singleton;
275277
276- const int32_t _province_number = 0 ;
278+ const ProvinceDefinition:: index_t _province_index = 0 ;
277279
278280 int32_t index = 0 ;
279281
@@ -297,7 +299,7 @@ Error MenuSingleton::population_menu_select_province(int32_t province_number) {
297299 }
298300
299301 bool operator ()(population_menu_t ::province_entry_t & province_entry) {
300- if (province_entry.province .get_province_definition ().get_province_number () == _province_number ) {
302+ if (province_entry.province .get_province_definition ().get_index () == _province_index ) {
301303
302304 if (state_entry_to_expand >= 0 ) {
303305 ret &= menu_singleton.population_menu_toggle_expanded (state_entry_to_expand, false ) == OK ;
@@ -310,7 +312,7 @@ Error MenuSingleton::population_menu_select_province(int32_t province_number) {
310312 return true ;
311313 }
312314
313- } entry_visitor { *this , province_number };
315+ } entry_visitor { *this , province_index };
314316
315317 while (entry_visitor.index < population_menu.province_list_entries .size ()
316318 && std::visit (entry_visitor, population_menu.province_list_entries [entry_visitor.index ])) {
0 commit comments