From 3c73121bbff6df48e3e1c8dc9c5e1f97e4052577 Mon Sep 17 00:00:00 2001 From: Idhrendur Date: Mon, 6 Sep 2021 12:00:37 -0700 Subject: [PATCH 01/17] First cut at generating nations in unowned territory --- Vic2ToHoI4/Source/HOI4World/HoI4Country.cpp | 28 ++++++++++ Vic2ToHoI4/Source/HOI4World/HoI4Country.h | 5 ++ Vic2ToHoI4/Source/HOI4World/HoI4World.cpp | 62 +++++++++++++++++++++ Vic2ToHoI4/Source/HOI4World/HoI4World.h | 8 ++- 4 files changed, 102 insertions(+), 1 deletion(-) diff --git a/Vic2ToHoI4/Source/HOI4World/HoI4Country.cpp b/Vic2ToHoI4/Source/HOI4World/HoI4Country.cpp index 534b99afc5..2da662abc5 100644 --- a/Vic2ToHoI4/Source/HOI4World/HoI4Country.cpp +++ b/Vic2ToHoI4/Source/HOI4World/HoI4Country.cpp @@ -201,6 +201,26 @@ HoI4::Country::Country(const std::shared_ptr owner, } +HoI4::Country::Country(const std::string& region_, + const Regions& regions, + Mappers::GraphicsMapper& graphicsMapper, + Names& names): + generatedDominion(true), region(region_), oldCapital(-1) +{ + if (const auto& regionName = regions.getRegionName(region); regionName) + { + name_ = "Unrecognized " + * regionName; + } + + if (const auto& regionAdjective = regions.getRegionAdjective(region); regionAdjective) + { + adjective_ = *regionAdjective; + } + + color = commonItems::Color(std::array{128,128,128}); +} + + void HoI4::Country::determineFilename() { if (name_) @@ -663,6 +683,14 @@ void HoI4::Country::addTag(const Country& owner, const std::string& tag_, Names& } +void HoI4::Country::addTag(const std::string& tag_, Names& names, Localisation& hoi4Localisations) +{ + tag = tag_; + determineFilename(); + initIdeas(names, hoi4Localisations); +} + + void HoI4::Country::determineCapitalFromVic2(const Mappers::ProvinceMapper& theProvinceMapper, const std::map& provinceToStateIDMap, const std::map& allStates) diff --git a/Vic2ToHoI4/Source/HOI4World/HoI4Country.h b/Vic2ToHoI4/Source/HOI4World/HoI4Country.h index b820e6900e..25559c14c2 100644 --- a/Vic2ToHoI4/Source/HOI4World/HoI4Country.h +++ b/Vic2ToHoI4/Source/HOI4World/HoI4Country.h @@ -69,8 +69,13 @@ class Country const Regions& regions, Mappers::GraphicsMapper& graphicsMapper, Names& names); + explicit Country(const std::string& region_, + const Regions& regions, + Mappers::GraphicsMapper& graphicsMapper, + Names& names); void addTag(const Country& owner, const std::string& tag_, Names& names, Localisation& hoi4Localisations); + void addTag(const std::string& tag_, Names& names, Localisation& hoi4Localisations); void determineCapitalFromVic2(const Mappers::ProvinceMapper& theProvinceMapper, const std::map& provinceToStateIDMap, const std::map& allStates); diff --git a/Vic2ToHoI4/Source/HOI4World/HoI4World.cpp b/Vic2ToHoI4/Source/HOI4World/HoI4World.cpp index e093fafb24..bdfd9b4310 100644 --- a/Vic2ToHoI4/Source/HOI4World/HoI4World.cpp +++ b/Vic2ToHoI4/Source/HOI4World/HoI4World.cpp @@ -146,6 +146,7 @@ HoI4::World::World(const Vic2::World& sourceWorld, convertIndustry(theConfiguration); addProvincesToHomeAreas(); addDominions(countryMapperFactory); + addUnrecognizedNations(countryMapperFactory); states->addCoresToCorelessStates(sourceWorld.getCountries(), provinceMapper, sourceWorld.getProvinces(), @@ -651,6 +652,67 @@ void HoI4::World::transferPuppetsToDominions() } +void HoI4::World::addUnrecognizedNations(Mappers::CountryMapper::Factory& countryMapperFactory) +{ + for (auto& [stateId, state]: states->getModifiableStates()) + { + const auto& provinces = state.getProvinces(); + if (provinces.empty()) + { + continue; + } + const auto& stateRegion = theRegions->getRegion(*provinces.begin()); + + const auto& ownerTag = state.getOwner(); + if (!ownerTag.empty()) + { + continue; + } + + auto nation = getUnrecognizedNation(*stateRegion, *theRegions, *graphicsMapper, *names); + nation->addCoreState(stateId); + } + + auto& modifiableStates = states->getModifiableStates(); + for (auto& nation: unrecognizedNations | std::views::values) + { + const auto nationTag = countryMapperFactory.generateNewHoI4Tag(); + nation->addTag(nationTag, *names, *hoi4Localisations); + countries.emplace(nationTag, nation); + + for (const auto& stateId: nation->getCoreStates()) + { + if (auto state = modifiableStates.find(stateId); state != modifiableStates.end()) + { + state->second.addCores({nationTag}); + state->second.setOwner(nationTag); + nation->addState(state->second); + } + } + + nation->determineBestCapital(states->getStates()); + nation->setCapitalRegionFlag(*theRegions); + } +} + + +std::shared_ptr HoI4::World::getUnrecognizedNation(const std::string& region, + const Regions& regions, + Mappers::GraphicsMapper& graphicsMapper, + Names& names) +{ + if (const auto& unrecognizedItr = unrecognizedNations.find(region); unrecognizedItr != unrecognizedNations.end()) + { + return unrecognizedItr->second; + } + + auto nation = std::make_shared(region, regions, graphicsMapper, names); + unrecognizedNations.emplace(region, nation); + + return nation; +} + + void HoI4::World::determineCoresAndClaims() { for (const auto& [id, state]: states->getStates()) diff --git a/Vic2ToHoI4/Source/HOI4World/HoI4World.h b/Vic2ToHoI4/Source/HOI4World/HoI4World.h index 42a30d4ed9..9f2f5e6df3 100644 --- a/Vic2ToHoI4/Source/HOI4World/HoI4World.h +++ b/Vic2ToHoI4/Source/HOI4World/HoI4World.h @@ -143,6 +143,7 @@ class World: commonItems::parser void addStatesToCountries(const Mappers::ProvinceMapper& provinceMapper); void addDominions(Mappers::CountryMapper::Factory& countryMapperFactory); void transferPuppetsToDominions(); + void addUnrecognizedNations(Mappers::CountryMapper::Factory& countryMapperFactory); void determineCoresAndClaims(); std::map calculateFactoryWorkerRatios(const Configuration& theConfiguration); std::map getIndustrialWorkersPerCountry(); @@ -199,6 +200,10 @@ class World: commonItems::parser const Regions& regions, Mappers::GraphicsMapper& graphicsMapper, Names& names); + std::shared_ptr getUnrecognizedNation(const std::string& region, + const Regions& regions, + Mappers::GraphicsMapper& graphicsMapper, + Names& names); bool dominionIsReleasable(const Country& dominion); void addProvincesToHomeAreas(); @@ -267,7 +272,8 @@ class World: commonItems::parser std::vector strongestGpNavies; std::unique_ptr theRegions; - std::map, std::shared_ptr> dominions; + std::map, std::shared_ptr> dominions; + std::map> unrecognizedNations; }; } // namespace HoI4 From 62e54307adf5bcf60032a667703e8d3410b6fd01 Mon Sep 17 00:00:00 2001 From: Idhrendur Date: Mon, 6 Sep 2021 12:06:11 -0700 Subject: [PATCH 02/17] Simplify addTag --- Vic2ToHoI4/Source/HOI4World/HoI4Country.cpp | 15 ++++++--------- Vic2ToHoI4/Source/HOI4World/HoI4Country.h | 2 +- Vic2ToHoI4/Source/HOI4World/HoI4World.cpp | 3 ++- 3 files changed, 9 insertions(+), 11 deletions(-) diff --git a/Vic2ToHoI4/Source/HOI4World/HoI4Country.cpp b/Vic2ToHoI4/Source/HOI4World/HoI4Country.cpp index 2da662abc5..4e31a626ca 100644 --- a/Vic2ToHoI4/Source/HOI4World/HoI4Country.cpp +++ b/Vic2ToHoI4/Source/HOI4World/HoI4Country.cpp @@ -671,23 +671,20 @@ void HoI4::Country::convertWars(const Vic2::Country& theSourceCountry, } -void HoI4::Country::addTag(const Country& owner, const std::string& tag_, Names& names, Localisation& hoi4Localisations) +void HoI4::Country::addTag(const std::string& tag_, Names& names, Localisation& hoi4Localisations) { tag = tag_; determineFilename(); initIdeas(names, hoi4Localisations); - if (owner.hasMonarchIdea()) - { - ideas.insert(owner.tag + "_monarch"); - } } -void HoI4::Country::addTag(const std::string& tag_, Names& names, Localisation& hoi4Localisations) +void HoI4::Country::addMonarchIdea(const Country& owner) { - tag = tag_; - determineFilename(); - initIdeas(names, hoi4Localisations); + if (owner.hasMonarchIdea()) + { + ideas.insert(owner.tag + "_monarch"); + } } diff --git a/Vic2ToHoI4/Source/HOI4World/HoI4Country.h b/Vic2ToHoI4/Source/HOI4World/HoI4Country.h index 25559c14c2..063420cb2b 100644 --- a/Vic2ToHoI4/Source/HOI4World/HoI4Country.h +++ b/Vic2ToHoI4/Source/HOI4World/HoI4Country.h @@ -74,8 +74,8 @@ class Country Mappers::GraphicsMapper& graphicsMapper, Names& names); - void addTag(const Country& owner, const std::string& tag_, Names& names, Localisation& hoi4Localisations); void addTag(const std::string& tag_, Names& names, Localisation& hoi4Localisations); + void addMonarchIdea(const Country& owner); void determineCapitalFromVic2(const Mappers::ProvinceMapper& theProvinceMapper, const std::map& provinceToStateIDMap, const std::map& allStates); diff --git a/Vic2ToHoI4/Source/HOI4World/HoI4World.cpp b/Vic2ToHoI4/Source/HOI4World/HoI4World.cpp index bdfd9b4310..ad4d699be3 100644 --- a/Vic2ToHoI4/Source/HOI4World/HoI4World.cpp +++ b/Vic2ToHoI4/Source/HOI4World/HoI4World.cpp @@ -552,7 +552,8 @@ void HoI4::World::addDominions(Mappers::CountryMapper::Factory& countryMapperFac } const auto dominionTag = countryMapperFactory.generateNewHoI4Tag(); - dominion->addTag(*overlord, dominionTag, *names, *hoi4Localisations); + dominion->addTag(dominionTag, *names, *hoi4Localisations); + dominion->addMonarchIdea(*overlord); countries.emplace(dominionTag, dominion); if (const auto& dominionLevel = theRegions->getRegionLevel(dominion->getRegion()); dominionLevel) From 345a41ffa7daeeedb47cb5ff041f48e6d840d9b8 Mon Sep 17 00:00:00 2001 From: Idhrendur Date: Mon, 6 Sep 2021 12:35:34 -0700 Subject: [PATCH 03/17] Make provinces in state deterministicly ordered --- Vic2ToHoI4/Source/HOI4World/States/HoI4State.cpp | 3 +-- Vic2ToHoI4/Source/HOI4World/States/HoI4State.h | 2 +- Vic2ToHoI4/Source/V2World/States/State.cpp | 2 +- Vic2ToHoI4/Source/V2World/States/State.h | 6 +++--- Vic2ToHoI4/Source/V2World/States/StateBuilder.h | 2 +- Vic2ToHoI4/Source/V2World/States/StateFactory.cpp | 2 +- Vic2ToHoI4Tests/HoI4WorldTests/States/HoI4StateTests.cpp | 4 ++-- Vic2ToHoI4Tests/Vic2WorldTests/States/StateFactoryTests.cpp | 2 +- 8 files changed, 11 insertions(+), 12 deletions(-) diff --git a/Vic2ToHoI4/Source/HOI4World/States/HoI4State.cpp b/Vic2ToHoI4/Source/HOI4World/States/HoI4State.cpp index 602ab3c5b8..b18c144d75 100644 --- a/Vic2ToHoI4/Source/HOI4World/States/HoI4State.cpp +++ b/Vic2ToHoI4/Source/HOI4World/States/HoI4State.cpp @@ -233,7 +233,6 @@ int HoI4::State::getManpower() const } - void HoI4::State::tryToCreateVP(const Vic2::State& sourceState, const Mappers::ProvinceMapper& theProvinceMapper, const Configuration& theConfiguration) @@ -297,7 +296,7 @@ void HoI4::State::addDebugVPs(const Vic2::State& sourceState, const Mappers::Pro } -void HoI4::State::addManpower(const std::set>& sourceProvinces, +void HoI4::State::addManpower(const std::vector>& sourceProvinces, const Mappers::ProvinceMapper& theProvinceMapper, const Configuration& theConfiguration) { diff --git a/Vic2ToHoI4/Source/HOI4World/States/HoI4State.h b/Vic2ToHoI4/Source/HOI4World/States/HoI4State.h index 9699c09003..f57e66f768 100644 --- a/Vic2ToHoI4/Source/HOI4World/States/HoI4State.h +++ b/Vic2ToHoI4/Source/HOI4World/States/HoI4State.h @@ -93,7 +93,7 @@ class State void tryToCreateVP(const Vic2::State& sourceState, const Mappers::ProvinceMapper& theProvinceMapper, const Configuration& theConfiguration); - void addManpower(const std::set>& sourceProvinces, + void addManpower(const std::vector>& sourceProvinces, const Mappers::ProvinceMapper& theProvinceMapper, const Configuration& theConfiguration); diff --git a/Vic2ToHoI4/Source/V2World/States/State.cpp b/Vic2ToHoI4/Source/V2World/States/State.cpp index eb40e970ec..579b15acd9 100644 --- a/Vic2ToHoI4/Source/V2World/States/State.cpp +++ b/Vic2ToHoI4/Source/V2World/States/State.cpp @@ -56,7 +56,7 @@ int Vic2::State::determineEmployedWorkersScore(const workerStruct& workers) void Vic2::State::eatState(const State& state, const StateDefinitions& stateDefinitions) { provinceNumbers.insert(state.provinceNumbers.begin(), state.provinceNumbers.end()); - provinces.insert(state.provinces.begin(), state.provinces.end()); + provinces.insert(provinces.end(), state.provinces.begin(), state.provinces.end()); partialState = false; for (const auto provinceNumber: stateDefinitions.getAllProvinces(*provinceNumbers.begin())) diff --git a/Vic2ToHoI4/Source/V2World/States/State.h b/Vic2ToHoI4/Source/V2World/States/State.h index bc7df16cf9..c7a19d874c 100644 --- a/Vic2ToHoI4/Source/V2World/States/State.h +++ b/Vic2ToHoI4/Source/V2World/States/State.h @@ -34,7 +34,7 @@ class State void determineEmployedWorkers(); void eatState(const State& state, const StateDefinitions& stateDefinitions); - void addProvince(std::shared_ptr province) { provinces.insert(std::move(province)); } + void addProvince(std::shared_ptr province) { provinces.push_back(std::move(province)); } void setOwner(std::string newOwner) { owner = std::move(newOwner); } void setLanguageCategory(std::string newLanguageCategory) { languageCategory = std::move(newLanguageCategory); } @@ -49,7 +49,7 @@ class State [[nodiscard]] std::string getStateID() const { return stateID; } [[nodiscard]] bool isPartialState() const { return partialState; } [[nodiscard]] std::set getProvinceNumbers() const { return provinceNumbers; } - [[nodiscard]] std::set> getProvinces() const { return provinces; } + [[nodiscard]] const auto& getProvinces() const { return provinces; } [[nodiscard]] std::optional getCapitalProvince() const { return capitalProvince; } [[nodiscard]] const std::string& getLanguageCategory() const { return languageCategory; } [[nodiscard]] int getEmployedWorkers() const { return employedWorkers; } @@ -64,7 +64,7 @@ class State bool partialState = false; std::set provinceNumbers; - std::set> provinces; + std::vector> provinces; std::optional capitalProvince; std::string languageCategory; diff --git a/Vic2ToHoI4/Source/V2World/States/StateBuilder.h b/Vic2ToHoI4/Source/V2World/States/StateBuilder.h index eb14d142e3..8097c808cb 100644 --- a/Vic2ToHoI4/Source/V2World/States/StateBuilder.h +++ b/Vic2ToHoI4/Source/V2World/States/StateBuilder.h @@ -41,7 +41,7 @@ class State::Builder return *this; } - Builder& setProvinces(std::set> provinces) + Builder& setProvinces(std::vector> provinces) { state->provinces = std::move(provinces); return *this; diff --git a/Vic2ToHoI4/Source/V2World/States/StateFactory.cpp b/Vic2ToHoI4/Source/V2World/States/StateFactory.cpp index ae170545de..58a4b4bd4b 100644 --- a/Vic2ToHoI4/Source/V2World/States/StateFactory.cpp +++ b/Vic2ToHoI4/Source/V2World/States/StateFactory.cpp @@ -45,7 +45,7 @@ std::unique_ptr Vic2::State::Factory::getUnownedState( for (const auto& [provinceNum, province]: theProvinces) { state->provinceNumbers.insert(provinceNum); - state->provinces.insert(province); + state->provinces.push_back(province); } setID(theStateDefinitions); determineIfPartialState(theStateDefinitions); diff --git a/Vic2ToHoI4Tests/HoI4WorldTests/States/HoI4StateTests.cpp b/Vic2ToHoI4Tests/HoI4WorldTests/States/HoI4StateTests.cpp index e2762ac1f7..54c8ffec1a 100644 --- a/Vic2ToHoI4Tests/HoI4WorldTests/States/HoI4StateTests.cpp +++ b/Vic2ToHoI4Tests/HoI4WorldTests/States/HoI4StateTests.cpp @@ -400,8 +400,8 @@ TEST(HoI4World_States_StateTests, ManpowerCanBeSet) .setController("REB") .setPops(std::vector{Pop(PopOptions{.type = "farmers", .size = 12'345})}) .build(); - std::set> provinces; - provinces.insert(theProvince); + std::vector> provinces; + provinces.push_back(theProvince); const auto sourceState = *Vic2::State::Builder().build(); HoI4::State theState(sourceState, 42, "TAG"); diff --git a/Vic2ToHoI4Tests/Vic2WorldTests/States/StateFactoryTests.cpp b/Vic2ToHoI4Tests/Vic2WorldTests/States/StateFactoryTests.cpp index c29a467271..cf3fdc2382 100644 --- a/Vic2ToHoI4Tests/Vic2WorldTests/States/StateFactoryTests.cpp +++ b/Vic2ToHoI4Tests/Vic2WorldTests/States/StateFactoryTests.cpp @@ -76,7 +76,7 @@ TEST(Vic2World_States_StateFactoryTests, GetUnownedStateSetsProvinces) Vic2::State::Factory().getUnownedState({{42, nullptr}}, *Vic2::StateDefinitions::Builder().build()); ASSERT_EQ(1, state->getProvinces().size()); - ASSERT_TRUE(state->getProvinces().contains(nullptr)); + EXPECT_TRUE(state->getProvinces()[0] == nullptr); } From acde2a35293eb55d1474d3372b5d30823eccdb53 Mon Sep 17 00:00:00 2001 From: Idhrendur Date: Mon, 6 Sep 2021 13:49:55 -0700 Subject: [PATCH 04/17] Localisations for unrecognized nations --- CMakeLists.txt | 1 + .../Vic2Localisations/dominions.csv | 21 +++--- .../unrecognized_nations.csv | 74 +++++++++++++++++++ Vic2ToHoI4/Source/HOI4World/HoI4Country.cpp | 2 +- Vic2ToHoI4/Source/HOI4World/HoI4Country.h | 2 + .../Source/HOI4World/HoI4Localisation.cpp | 53 +++++++++++++ .../Source/HOI4World/HoI4Localisation.h | 6 ++ Vic2ToHoI4/Source/HOI4World/HoI4World.cpp | 9 +++ Vic2ToHoI4/Vic2ToHoI4.vcxproj | 7 ++ Vic2ToHoI4/Vic2ToHoI4.vcxproj.filters | 3 + 10 files changed, 166 insertions(+), 12 deletions(-) create mode 100644 Vic2ToHoI4/Data_Files/configurables/Vic2Localisations/unrecognized_nations.csv diff --git a/CMakeLists.txt b/CMakeLists.txt index be5ef8e624..f72822c512 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -431,6 +431,7 @@ configure_file("${DATA_FILE_DIR}/configurables/The Concert of Europe_province_ma configure_file("${DATA_FILE_DIR}/configurables/unit_mappings.txt" "${CONVERTER_OUTPUT_DIRECTORY}/Configurables/unit_mappings.txt" COPYONLY) configure_file("${DATA_FILE_DIR}/configurables/Vic2Localisations/Vic2Localisations.csv" "${CONVERTER_OUTPUT_DIRECTORY}/Configurables/Vic2Localisations/Vic2Localisations.csv" COPYONLY) configure_file("${DATA_FILE_DIR}/configurables/Vic2Localisations/dominions.csv" "${CONVERTER_OUTPUT_DIRECTORY}/Configurables/Vic2Localisations/dominions.csv" COPYONLY) +configure_file("${DATA_FILE_DIR}/configurables/Vic2Localisations/unrecognized_nations.csv" "${CONVERTER_OUTPUT_DIRECTORY}/Configurables/Vic2Localisations/unrecognized_nations.csv" COPYONLY) file(COPY "${DATA_FILE_DIR}/blankMod" DESTINATION "${CONVERTER_OUTPUT_DIRECTORY}") file(COPY "${DATA_FILE_DIR}/flags" DESTINATION "${CONVERTER_OUTPUT_DIRECTORY}") add_custom_command(TARGET Vic2ToHoi4Converter POST_BUILD WORKING_DIRECTORY ${CMAKE_SOURCE_DIR} COMMAND git rev-parse HEAD > Release-Linux/commit_id.txt) diff --git a/Vic2ToHoI4/Data_Files/configurables/Vic2Localisations/dominions.csv b/Vic2ToHoI4/Data_Files/configurables/Vic2Localisations/dominions.csv index 142332cd44..0da5388a8a 100644 --- a/Vic2ToHoI4/Data_Files/configurables/Vic2Localisations/dominions.csv +++ b/Vic2ToHoI4/Data_Files/configurables/Vic2Localisations/dominions.csv @@ -1,14 +1,13 @@ -;en;fr;de;pl;es;it;sw;cz;hu;nl;pt;ru;fi; -# Localisations for generated dominions;;;;;;;;;;;;;; -# The converter tries to find localisations in this order:;;;;;;;;;;;;;; -# * dom___;;;;;;;;;;;;;; -# * dom__;;;;;;;;;;;;;; -# * dom___;;;;;;;;;;;;;; -# * dom__;;;;;;;;;;;;;; -# * dom__;;;;;;;;;;;;;; -# * dom_;;;;;;;;;;;;;; -# If no localisation is found, the final localisation will be "$OWNER_ADJ$ $REGION$";;;;;;;;;;;;;; -#;;;;;;;;;;;;;; +# Localisations for generated dominions +# The converter tries to find localisations in this order: +# * dom___ +# * dom__ +# * dom___ +# * dom__ +# * dom__ +# * dom_ +# If no localisation is found, the final localisation will be "$OWNER_ADJ$ $REGION$" +# dom_scandinavian_canada;Secret Denmark;Danemark Secret;Geheimnes Dänemark;Tajna Dania;Dinamarca Secreta;Danimarca Segreta;Titkos Dánia;Tajné Dánsko;Titkos Dánia;Geheim Denemarken;Dinamarca Secreta;Òàéíàÿ Äàíèÿ;Salainen Tanska;x ####;EN;FR;DE;PL;ES;IT;SW;CZ;HU;NL;PT;RU;FI;x dom_canada;Canada;Canada $OVERLORD_ADJ$;$OVERLORD_ADJ$es Kanada;$OVERLORD_ADJ$a Kanada;Canadá $OVERLORD_ADJ$;Canada $OVERLORD_ADJ$;;;;;Canadá $OVERLORD_ADJ$;$OVERLORD_ADJ$àÿ Êàíàäà;;x diff --git a/Vic2ToHoI4/Data_Files/configurables/Vic2Localisations/unrecognized_nations.csv b/Vic2ToHoI4/Data_Files/configurables/Vic2Localisations/unrecognized_nations.csv new file mode 100644 index 0000000000..e3594c7afb --- /dev/null +++ b/Vic2ToHoI4/Data_Files/configurables/Vic2Localisations/unrecognized_nations.csv @@ -0,0 +1,74 @@ +# Localisations for unrecognized nations +# Localisations are of this form: +# * unrecognized_ +# If no localisation is found, the final localisation will be "$uncrecognized$ $REGION$" +# + +####;EN;FR;DE;PL;ES;IT;SW;CZ;HU;NL;PT;RU;FI;x +unrecognized_name;Unrecognized;Méconnue;Unerkannt;Nierozpoznany;Poco Reconocido;Non Riconosciuto;Okänd;Nerozpoznáno;Ismeretlen;Niet Herkend;Não Reconhecido;Òàéíàÿ Äàíèÿ;Tunnistamaton;x +unrecognized_adjective;Unrecognized;Méconnue;Unerkannt;Nierozpoznany;Poco Reconocido;Non Riconosciuto;Okänd;Nerozpoznáno;Ismeretlen;Niet Herkend;Não Reconhecido;Òàéíàÿ Äàíèÿ;Tunnistamaton;x +unrecognized_canada;$OVERLORD_ADJ$ Canada;Canada $OVERLORD_ADJ$;$OVERLORD_ADJ$es Kanada;$OVERLORD_ADJ$a Kanada;Canadá $OVERLORD_ADJ$;Canada $OVERLORD_ADJ$;;;;;Canadá $OVERLORD_ADJ$;$OVERLORD_ADJ$àÿ Êàíàäà;;x +unrecognized_california;$OVERLORD_ADJ$ California;Californie $OVERLORD_ADJ$;$OVERLORD_ADJ$es Kalifornien;$OVERLORD_ADJ$a Kalifornia;California $OVERLORD_ADJ$;California $OVERLORD_ADJ$;;;;;Califórnia $OVERLORD_ADJ$;$OVERLORD_ADJ$àÿ Êàëèôîðíèÿ;;x +unrecognized_us_central;$OVERLORD_ADJ$ Louisiana;Louisiane $OVERLORD_ADJ$;$OVERLORD_ADJ$es Louisiana;$OVERLORD_ADJ$a Luizjana;Luisiana $OVERLORD_ADJ$;Luisiana $OVERLORD_ADJ$;;;;;Louisiana $OVERLORD_ADJ$;$OVERLORD_ADJ$àÿ Ëóèçèàíà;;x +unrecognized_us_north_east;$OVERLORD_ADJ$ Thirteen Colonies;Treize Colonies $OVERLORD_ADJ$s;$OVERLORD_ADJ$e Dreizehn Kolonien;$OVERLORD_ADJ$ie Trzynaœcie Kolonii;Las Trece Colonias $OVERLORD_ADJ$s;Tredici Colonie $OVERLORD_ADJ$;;;;;Treze Colônias $OVERLORD_ADJ$s;$OVERLORD_ADJ$èå Òðèíàäöàòü Êîëîíèé;;x +unrecognized_dixieland;$OVERLORD_ADJ$ Dixia;Dixie $OVERLORD_ADJ$;$OVERLORD_ADJ$es Dixien;$OVERLORD_ADJ$i Dixia;Dixia $OVERLORD_ADJ$;Dixia $OVERLORD_ADJ$;;;;;Dixia $OVERLORD_ADJ$;$OVERLORD_ADJ$àÿ Äèêñèÿ;;x +unrecognized_britain;$OVERLORD_ADJ$ Britain;Bretagne $OVERLORD_ADJ$;$OVERLORD_ADJ$es Großbritannien;$OVERLORD_ADJ$a Brytania;Bretaña $OVERLORD_ADJ$;Bretagna $OVERLORD_ADJ$;;;;;Grã-Bretanha $OVERLORD_ADJ$;$OVERLORD_ADJ$àÿ Áðèòàíèÿ;;x +unrecognized_scandinavia;$OVERLORD_ADJ$ Scandinavia;Scandinavie $OVERLORD_ADJ$;$OVERLORD_ADJ$es Skandinavien;$OVERLORD_ADJ$a Skandynawia;Escandinavia $OVERLORD_ADJ$;Scandinavia $OVERLORD_ADJ$;;;;;Escandinávia $OVERLORD_ADJ$;$OVERLORD_ADJ$àÿ Ñêàíäèíàâèÿ;;x +unrecognized_baltic;$OVERLORD_ADJ$ Baltic;La Baltique $OVERLORD_ADJ$;Die $OVERLORD_ADJ$e Ostsee;$OVERLORD_ADJ$i Ba³tyk;El Báltico $OVERLORD_ADJ$;Baltico $OVERLORD_ADJ$;;;;;O Báltico $OVERLORD_ADJ$;$OVERLORD_ADJ$àÿ Ïðèáàëòèêà;;x +unrecognized_dutchland;$OVERLORD_ADJ$ Netherlands;Les Pays-Bas $OVERLORD_ADJ$;$OVERLORD_ADJ$e Niederlande;$OVERLORD_ADJ$ie Niderlandy;Países Bajos $OVERLORD_ADJ$s;Paesi Bassi $OVERLORD_ADJ$;;;;;Holanda $OVERLORD_ADJ$;$OVERLORD_ADJ$èå Íèäåðëàíäû;;x +unrecognized_france;$OVERLORD_ADJ$ France;France $OVERLORD_ADJ$;$OVERLORD_ADJ$es Frankreich;$OVERLORD_ADJ$a Francja;Francia $OVERLORD_ADJ$;Francia $OVERLORD_ADJ$;;;;;França $OVERLORD_ADJ$;$OVERLORD_ADJ$èé Ôðàíöèÿ;;x +unrecognized_iberia;$OVERLORD_ADJ$ Iberia;Ibérie $OVERLORD_ADJ$;$OVERLORD_ADJ$es Iberia;$OVERLORD_ADJ$a Iberia;Iberia $OVERLORD_ADJ$;Iberia $OVERLORD_ADJ$;;;;;Iberia $OVERLORD_ADJ$;$OVERLORD_ADJ$àÿ Èáåðèÿ;;x +unrecognized_germany;$OVERLORD_ADJ$ Germany;Allemagne $OVERLORD_ADJ$;$OVERLORD_ADJ$es Deutschland;$OVERLORD_ADJ$ie Niemcy;Alemania $OVERLORD_ADJ$;Germania $OVERLORD_ADJ$;;;;;Alemanha $OVERLORD_ADJ$;$OVERLORD_ADJ$àÿ Ãåðìàíèÿ;;x +unrecognized_austria;$OVERLORD_ADJ$ Mitteleuropa;Mitteleurope $OVERLORD_ADJ$;$OVERLORD_ADJ$es Mitteleuropa;$OVERLORD_ADJ$i Mitteleuropa;Mitteleuropa $OVERLORD_ADJ$;Mitteleuropa $OVERLORD_ADJ$;;;;;Mitteleuropa $OVERLORD_ADJ$;$OVERLORD_ADJ$èé Ìèòòåëåâðîïà;;x +unrecognized_hungary;$OVERLORD_ADJ$ Pannonia;Pannonie $OVERLORD_ADJ$;$OVERLORD_ADJ$es Pannonien;$OVERLORD_ADJ$a Panonia;Panonia $OVERLORD_ADJ$;Pannonia $OVERLORD_ADJ$;;;;;Panônia $OVERLORD_ADJ$;$OVERLORD_ADJ$àÿ Ïàííîíèÿ;;x +unrecognized_romania;$OVERLORD_ADJ$ Wallachia;Valachie $OVERLORD_ADJ$;$OVERLORD_ADJ$e Walachei;$OVERLORD_ADJ$a Wo³oszczyzna;Valaquia $OVERLORD_ADJ$;Valacchia $OVERLORD_ADJ$;;;;;Wallachia $OVERLORD_ADJ$;$OVERLORD_ADJ$àÿ Âàëàõèÿ;;x +unrecognized_poland;$OVERLORD_ADJ$ Poland;Pologne $OVERLORD_ADJ$;$OVERLORD_ADJ$es Polen;$OVERLORD_ADJ$a Polska;Polonia $OVERLORD_ADJ$;Polonia $OVERLORD_ADJ$;;;;;Polônia $OVERLORD_ADJ$;$OVERLORD_ADJ$àÿ Ïîëüøà;;x +unrecognized_italy;$OVERLORD_ADJ$ Italy;Italie $OVERLORD_ADJ$;$OVERLORD_ADJ$es Italien;$OVERLORD_ADJ$ie W³ochy;Italia $OVERLORD_ADJ$;Italia $OVERLORD_ADJ$;;;;;Itália $OVERLORD_ADJ$;$OVERLORD_ADJ$àÿ Èòàëèÿ;;x +unrecognized_yugoslavia;$OVERLORD_ADJ$ Balkans;Les Balkans $OVERLORD_ADJ$;Der $OVERLORD_ADJ$e Balkan;$OVERLORD_ADJ$ie Balkany;Los Balcanes $OVERLORD_ADJ$s;Balcani $OVERLORD_ADJ$;;;;;Os Balcãs $OVERLORD_ADJ$s;$OVERLORD_ADJ$èå Áàëêàíû;;x +unrecognized_bulgaria;$OVERLORD_ADJ$ Bulgaria;Bulgarie $OVERLORD_ADJ$;$OVERLORD_ADJ$es Bulgarien;$OVERLORD_ADJ$i Bu³garia;Bulgaria $OVERLORD_ADJ$;Bulgaria $OVERLORD_ADJ$;;;;;Bulgária $OVERLORD_ADJ$;$OVERLORD_ADJ$àÿ Áîëãàðèÿ;;x +unrecognized_greece;$OVERLORD_ADJ$ Greece;Grèce $OVERLORD_ADJ$;$OVERLORD_ADJ$es Griechenland;$OVERLORD_ADJ$a Grecja;Grecia $OVERLORD_ADJ$;Grecia $OVERLORD_ADJ$;;;;;Grécia $OVERLORD_ADJ$;$OVERLORD_ADJ$àÿ Ãðåöèÿ;;x +unrecognized_turkey;$OVERLORD_ADJ$ Anatolia;Anatolie $OVERLORD_ADJ$;$OVERLORD_ADJ$es Anatolien;$OVERLORD_ADJ$a Anatolia;Anatolia $OVERLORD_ADJ$;Anatolia $OVERLORD_ADJ$;;;;;Anatólia $OVERLORD_ADJ$;$OVERLORD_ADJ$àÿ Àíàòîëèÿ;;x +unrecognized_levant;$OVERLORD_ADJ$ Levant;Le Levant $OVERLORD_ADJ$;Die $OVERLORD_ADJ$e Levante;$OVERLORD_ADJ$i Lewant;El Levante $OVERLORD_ADJ$;Levante $OVERLORD_ADJ$;;;;;O Levante $OVERLORD_ADJ$;$OVERLORD_ADJ$èé Ëåâàíò;;x +unrecognized_iraq;$OVERLORD_ADJ$ Mesopotamia;Mésopotamie $OVERLORD_ADJ$;$OVERLORD_ADJ$es Mesopotamien;$OVERLORD_ADJ$a Mezopotamia;Mesopotamia $OVERLORD_ADJ$;Mesopotamia $OVERLORD_ADJ$;;;;;Mesopotâmia $OVERLORD_ADJ$;$OVERLORD_ADJ$àÿ Ìåñîïîòàìèÿ;;x +unrecognized_belarus;$OVERLORD_ADJ$ Byelorrussia;Biélorussie $OVERLORD_ADJ$;$OVERLORD_ADJ$es Weißrussland;$OVERLORD_ADJ$a Bia³oruœ;Bielorrusia $OVERLORD_ADJ$;Bielorussia $OVERLORD_ADJ$;;;;;Bielorrússia $OVERLORD_ADJ$;$OVERLORD_ADJ$àÿ Áåëîðóññèÿ;;x +unrecognized_ukraine;$OVERLORD_ADJ$ Malarussia;Malarussie $OVERLORD_ADJ$;$OVERLORD_ADJ$es Kleinrussland;$OVERLORD_ADJ$a Malaruœ;Malorrusia $OVERLORD_ADJ$;Malorussia $OVERLORD_ADJ$;;;;;Malarrússia $OVERLORD_ADJ$;$OVERLORD_ADJ$àÿ Ìàëîðóññèÿ;;x +unrecognized_russia;$OVERLORD_ADJ$ Russia;Russie $OVERLORD_ADJ$;$OVERLORD_ADJ$es Russland;$OVERLORD_ADJ$a Rosja;Rusia $OVERLORD_ADJ$;Russia $OVERLORD_ADJ$;;;;;Rússia $OVERLORD_ADJ$;$OVERLORD_ADJ$àÿ Ðîññèÿ;;x +unrecognized_siberia;$OVERLORD_ADJ$ Siberia;Sibérie $OVERLORD_ADJ$;$OVERLORD_ADJ$es Sibirien;$OVERLORD_ADJ$a Syberia;Siberia $OVERLORD_ADJ$;Siberia $OVERLORD_ADJ$;;;;;Sibéria $OVERLORD_ADJ$;$OVERLORD_ADJ$àÿ Ñèáèðü;;x +unrecognized_transcaucasia;$OVERLORD_ADJ$ Transcaucasia;Transcaucasie $OVERLORD_ADJ$;$OVERLORD_ADJ$es Transkaukasien;$OVERLORD_ADJ$ie Zakaukazie;Transcaucasia $OVERLORD_ADJ$;Transcaucasia $OVERLORD_ADJ$;;;;;Transcaucásia $OVERLORD_ADJ$;$OVERLORD_ADJ$îå Çàêàâêàçüå;;x +unrecognized_persia;$OVERLORD_ADJ$ Persia;Perse $OVERLORD_ADJ$;$OVERLORD_ADJ$es Persien;$OVERLORD_ADJ$a Persja;Persia $OVERLORD_ADJ$;Persia $OVERLORD_ADJ$;;;;;Pérsia $OVERLORD_ADJ$;$OVERLORD_ADJ$àÿ Ïåðñèÿ;;x +unrecognized_arabia;$OVERLORD_ADJ$ Arabia;Arabie $OVERLORD_ADJ$;$OVERLORD_ADJ$es Arabien;$OVERLORD_ADJ$a Arabia;Arabia $OVERLORD_ADJ$;Arabia $OVERLORD_ADJ$;;;;;Arábia $OVERLORD_ADJ$;$OVERLORD_ADJ$àÿ Àðàâèÿ;;x +unrecognized_central_asia;$OVERLORD_ADJ$ Central Asia;Asie Centrale $OVERLORD_ADJ$;$OVERLORD_ADJ$es Zentralasien;$OVERLORD_ADJ$a Azja Œrodkowa;Asia Central $OVERLORD_ADJ$;Asia Centrale $OVERLORD_ADJ$;;;;;Ásia Central $OVERLORD_ADJ$;$OVERLORD_ADJ$àÿ Öåíòðàëüíàÿ Àçèÿ;;x +unrecognized_south_asia;$OVERLORD_ADJ$ Raj;Le Raj $OVERLORD_ADJ$;Das $OVERLORD_ADJ$e Raj;$OVERLORD_ADJ$i Raj;El Raj $OVERLORD_ADJ$;Raj $OVERLORD_ADJ$;;;;;O Raj $OVERLORD_ADJ$;$OVERLORD_ADJ$èé Ðàäæ;;x +unrecognized_burma;$OVERLORD_ADJ$ Burma;Birmanie $OVERLORD_ADJ$;$OVERLORD_ADJ$es Birma;$OVERLORD_ADJ$a Birma;Birmania $OVERLORD_ADJ$;Birmania $OVERLORD_ADJ$;;;;;Birmânia $OVERLORD_ADJ$;$OVERLORD_ADJ$àÿ Áèðìà;;x +unrecognized_siam;$OVERLORD_ADJ$ Siam;Siam $OVERLORD_ADJ$;$OVERLORD_ADJ$es Siam;$OVERLORD_ADJ$i Syjam;Siam $OVERLORD_ADJ$;Siam $OVERLORD_ADJ$;;;;;Sião $OVERLORD_ADJ$;$OVERLORD_ADJ$èé Ñèàì;;x +unrecognized_indochina;$OVERLORD_ADJ$ Indochina;Indochine $OVERLORD_ADJ$;$OVERLORD_ADJ$es Indochina;$OVERLORD_ADJ$ie Indochiny;Indochina $OVERLORD_ADJ$;Indocina $OVERLORD_ADJ$;;;;;Indochina $OVERLORD_ADJ$;$OVERLORD_ADJ$èé Èíäîêèòàé;;x +unrecognized_malaysia;$OVERLORD_ADJ$ Malaysia;Malaisie $OVERLORD_ADJ$;$OVERLORD_ADJ$es Malaysia;$OVERLORD_ADJ$a Malezja;Malasia $OVERLORD_ADJ$;Malesia $OVERLORD_ADJ$;;;;;Malásia $OVERLORD_ADJ$;$OVERLORD_ADJ$àÿ Ìàëàéçèÿ;;x +unrecognized_indonesia;$OVERLORD_ADJ$ East Indies;Les Indes Orientales $OVERLORD_ADJ$s;Die $OVERLORD_ADJ$en Ostindien;$OVERLORD_ADJ$ie Indie Wschodnie;Las Indias Orientales $OVERLORD_ADJ$s;Indie Orientali $OVERLORD_ADJ$;;;;;As Índias Orientais $OVERLORD_ADJ$s;$OVERLORD_ADJ$àÿ Îñò-Èíäèÿ;;x +unrecognized_philippines;$OVERLORD_ADJ$ Philippines;Les Philippines $OVERLORD_ADJ$s;Die $OVERLORD_ADJ$en Philippinen;$OVERLORD_ADJ$ie Filipiny;Filipinas $OVERLORD_ADJ$s;Filippine $OVERLORD_ADJ$;;;;;As Filipinas $OVERLORD_ADJ$s;$OVERLORD_ADJ$èå Ôèëèïïèíû;;x +unrecognized_china;$OVERLORD_ADJ$ China;Chine $OVERLORD_ADJ$;$OVERLORD_ADJ$es China;$OVERLORD_ADJ$a China;China $OVERLORD_ADJ$;Cina $OVERLORD_ADJ$;;;;;China $OVERLORD_ADJ$;$OVERLORD_ADJ$èé Êèòàé;;x +unrecognized_korea;$OVERLORD_ADJ$ Korea;Corée $OVERLORD_ADJ$;$OVERLORD_ADJ$es Korea;$OVERLORD_ADJ$a Korea;Corea $OVERLORD_ADJ$;Corea $OVERLORD_ADJ$;;;;;Coréia $OVERLORD_ADJ$;$OVERLORD_ADJ$àÿ Êîðåÿ;;x +unrecognized_japan;$OVERLORD_ADJ$ Japan;Japon $OVERLORD_ADJ$;$OVERLORD_ADJ$es Japan;$OVERLORD_ADJ$a Japonia;Japón $OVERLORD_ADJ$;Giappone $OVERLORD_ADJ$;;;;;Japão $OVERLORD_ADJ$;$OVERLORD_ADJ$èé ßïîíèÿ;;x +unrecognized_maghreb;$OVERLORD_ADJ$ Maghreb;Le Maghreb $OVERLORD_ADJ$;Der $OVERLORD_ADJ$e Maghreb;$OVERLORD_ADJ$i Maghreb;El Magreb $OVERLORD_ADJ$;Magreb $OVERLORD_ADJ$;;;;;O Magrebe $OVERLORD_ADJ$;$OVERLORD_ADJ$èé Ìàãðèá;;x +unrecognized_libya;$OVERLORD_ADJ$ Libya;Libye $OVERLORD_ADJ$;$OVERLORD_ADJ$es Libyen;$OVERLORD_ADJ$a Libia;Libia $OVERLORD_ADJ$;Libia $OVERLORD_ADJ$;;;;;Líbia $OVERLORD_ADJ$;$OVERLORD_ADJ$àÿ Ëèâèÿ;;x +unrecognized_egypt;$OVERLORD_ADJ$ Egypt;Égypte $OVERLORD_ADJ$;$OVERLORD_ADJ$es Ägypten;$OVERLORD_ADJ$i Egipt;Egipto $OVERLORD_ADJ$;Egitto $OVERLORD_ADJ$;;;;;Egito $OVERLORD_ADJ$;$OVERLORD_ADJ$èé Åãèïåò;;x +unrecognized_western_africa;$OVERLORD_ADJ$ Western Africa;Afrique Occidentale $OVERLORD_ADJ$;$OVERLORD_ADJ$es Westafrika;$OVERLORD_ADJ$a Afryka Zachodnia;África Occidental $OVERLORD_ADJ$;Africa Occidentale $OVERLORD_ADJ$;;;;;África Ocidental $OVERLORD_ADJ$;$OVERLORD_ADJ$àÿ Çàïàäíàÿ Àôðèêà;;x +unrecognized_sudan;$OVERLORD_ADJ$ Sudan;Soudan $OVERLORD_ADJ$;Der $OVERLORD_ADJ$e Sudan;$OVERLORD_ADJ$i Sudan;Sudán $OVERLORD_ADJ$;Sudan $OVERLORD_ADJ$;;;;;Sudão $OVERLORD_ADJ$;$OVERLORD_ADJ$èé Ñóäàí;;x +unrecognized_abyssinia;$OVERLORD_ADJ$ Abyssinia;Abyssinie $OVERLORD_ADJ$;$OVERLORD_ADJ$es Abessinien;$OVERLORD_ADJ$a Abisynia;Abisinia $OVERLORD_ADJ$;Abissinia $OVERLORD_ADJ$;;;;;Abissínia $OVERLORD_ADJ$;$OVERLORD_ADJ$àÿ Àáèññèíèÿ;;x +unrecognized_nigeria;$OVERLORD_ADJ$ Nigeria;Nigéria $OVERLORD_ADJ$;$OVERLORD_ADJ$es Nigeria;$OVERLORD_ADJ$a Nigeria;Nigeria $OVERLORD_ADJ$;Nigeria $OVERLORD_ADJ$;;;;;Nigéria $OVERLORD_ADJ$;$OVERLORD_ADJ$àÿ Íèãåðèÿ;;x +unrecognized_congo;$OVERLORD_ADJ$ Congo;Congo $OVERLORD_ADJ$;$OVERLORD_ADJ$es Kongo;$OVERLORD_ADJ$ie Kongo;Congo $OVERLORD_ADJ$;Congo $OVERLORD_ADJ$;;;;;Congo $OVERLORD_ADJ$;$OVERLORD_ADJ$îå Êîíãî;;x +unrecognized_equatorial_africa;$OVERLORD_ADJ$ Equatorial Africa;Afrique Équatoriale $OVERLORD_ADJ$;$OVERLORD_ADJ$es Äquatorialafrika;$OVERLORD_ADJ$a Afryka Równikowa;África Ecuatorial $OVERLORD_ADJ$;Africa Equatoriale $OVERLORD_ADJ$;;;;;África Equatorial $OVERLORD_ADJ$;$OVERLORD_ADJ$àÿ Ýêâàòîðèàëüíàÿ Àôðèêà;;x +unrecognized_angola;$OVERLORD_ADJ$ Angola;Angola $OVERLORD_ADJ$;$OVERLORD_ADJ$es Angola;$OVERLORD_ADJ$a Angola;Angola $OVERLORD_ADJ$;Angola $OVERLORD_ADJ$;;;;;Angola $OVERLORD_ADJ$;$OVERLORD_ADJ$àÿ Àíãîëà;;x +unrecognized_east_africa;$OVERLORD_ADJ$ East Africa;Afrique Orientale $OVERLORD_ADJ$;$OVERLORD_ADJ$es Ostafrika;$OVERLORD_ADJ$a Afryka Wschodnia;África Oriental $OVERLORD_ADJ$;Africa Orientale $OVERLORD_ADJ$;;;;;África Oriental $OVERLORD_ADJ$;$OVERLORD_ADJ$àÿ Âîñòî÷íàÿ Àôðèêà;;x +unrecognized_mozambique;$OVERLORD_ADJ$ Mozambique;Mozambique $OVERLORD_ADJ$;$OVERLORD_ADJ$es Mosambik;$OVERLORD_ADJ$i Mozambik;Mozambique $OVERLORD_ADJ$;Mozambico $OVERLORD_ADJ$;;;;;Moçambique $OVERLORD_ADJ$;$OVERLORD_ADJ$èé Ìîçàìáèê;;x +unrecognized_southern_africa;$OVERLORD_ADJ$ Southern Africa;Afrique Australe $OVERLORD_ADJ$;$OVERLORD_ADJ$es Südafrika;$OVERLORD_ADJ$a Afryka Po³udniowa;África Austral $OVERLORD_ADJ$;Africa Meridionale $OVERLORD_ADJ$;;;;;África Austral $OVERLORD_ADJ$;$OVERLORD_ADJ$àÿ Þæíàÿ Àôðèêà;;x +unrecognized_rhodesia;$OVERLORD_ADJ$ Rhodesia;Rhodésie $OVERLORD_ADJ$;$OVERLORD_ADJ$es Rhodesien;$OVERLORD_ADJ$a Rodezja;Rodesia $OVERLORD_ADJ$;Rodesia $OVERLORD_ADJ$;;;;;Rodésia $OVERLORD_ADJ$;$OVERLORD_ADJ$àÿ Ðîäåçèÿ;;x +unrecognized_madagascar;$OVERLORD_ADJ$ Madagascar;Madagascar $OVERLORD_ADJ$;$OVERLORD_ADJ$es Madagaskar;$OVERLORD_ADJ$i Madagaskar;Madagascar $OVERLORD_ADJ$;Madagascar $OVERLORD_ADJ$;;;;;Madagascar $OVERLORD_ADJ$;$OVERLORD_ADJ$èé Ìàäàãàñêàð;;x +unrecognized_mexico;$OVERLORD_ADJ$ Mexico;Mexique $OVERLORD_ADJ$;$OVERLORD_ADJ$es Mexiko;$OVERLORD_ADJ$i Meksyk;México $OVERLORD_ADJ$;Messico $OVERLORD_ADJ$;;;;;México $OVERLORD_ADJ$;$OVERLORD_ADJ$àÿ Ìåêñèêà;;x +unrecognized_central_america;$OVERLORD_ADJ$ Central America;Amérique Centrale $OVERLORD_ADJ$;$OVERLORD_ADJ$es Zentralamerika;$OVERLORD_ADJ$a Ameryka Œrodkowa;Centroamérica $OVERLORD_ADJ$;America Centrale $OVERLORD_ADJ$;;;;;América Central $OVERLORD_ADJ$;$OVERLORD_ADJ$àÿ Öåíòðàëüíàÿ Àìåðèêà;;x +unrecognized_caribbean;$OVERLORD_ADJ$ Caribbean;Les Caraïbes $OVERLORD_ADJ$s;Die $OVERLORD_ADJ$e Karibik;$OVERLORD_ADJ$ie Karaiby;El Caribe $OVERLORD_ADJ$;Caraibi $OVERLORD_ADJ$;;;;;Caribe $OVERLORD_ADJ$;$OVERLORD_ADJ$îå Êàðèáñêîå;;x +unrecognized_gran_colombia;$OVERLORD_ADJ$ New Grenada;Nouvelle Grenade $OVERLORD_ADJ$;$OVERLORD_ADJ$es Neu-Grenada;$OVERLORD_ADJ$a Nowa Grenada;Nueva Granada $OVERLORD_ADJ$;Nuova Granada $OVERLORD_ADJ$;;;;;Nova Granada $OVERLORD_ADJ$;$OVERLORD_ADJ$àÿ Íîâàÿ Ãðåíàäà;;x +unrecognized_peru_bolivia;$OVERLORD_ADJ$ Peru-Bolivia;Pérou-Bolivie $OVERLORD_ADJ$;$OVERLORD_ADJ$es Peru-Bolivien;$OVERLORD_ADJ$ie Peru-Boliwia;Perú-Bolivia $OVERLORD_ADJ$;Perù-Bolivia $OVERLORD_ADJ$;;;;;Peru-Bolívia $OVERLORD_ADJ$;$OVERLORD_ADJ$èé Ïåðó-Áîëèâèÿ;;x +unrecognized_patagonia;$OVERLORD_ADJ$ Río de la Plata;Le Río-de-la-Plata $OVERLORD_ADJ$;Der $OVERLORD_ADJ$e Río de la Plata;$OVERLORD_ADJ$ie Rio de la Plata;El Río de la Plata $OVERLORD_ADJ$;Rio della Plata $OVERLORD_ADJ$;;;;;O Río de la Plata $OVERLORD_ADJ$;$OVERLORD_ADJ$èé Ðèî-äå-ëà-Ïëàòà;;x +unrecognized_brazil;$OVERLORD_ADJ$ Brazil;Brésil $OVERLORD_ADJ$;$OVERLORD_ADJ$es Brasilien;$OVERLORD_ADJ$a Brazylia;Brasil $OVERLORD_ADJ$;Brasile $OVERLORD_ADJ$;;;;;Brasil $OVERLORD_ADJ$;$OVERLORD_ADJ$èé Áðàçèëèÿ;;x +unrecognized_australia;$OVERLORD_ADJ$ Australia;Australie $OVERLORD_ADJ$;$OVERLORD_ADJ$es Australien;$OVERLORD_ADJ$a Australia;Australia $OVERLORD_ADJ$;Australia $OVERLORD_ADJ$;;;;;Austrália $OVERLORD_ADJ$;$OVERLORD_ADJ$àÿ Àâñòðàëèÿ;;x +unrecognized_oceania;$OVERLORD_ADJ$ Pacific;Le Pacifique $OVERLORD_ADJ$;Der $OVERLORD_ADJ$e Pazifik;$OVERLORD_ADJ$i Pacyfik;El Pacífico $OVERLORD_ADJ$;Pacifico $OVERLORD_ADJ$;;;;;O Pacífico $OVERLORD_ADJ$;$OVERLORD_ADJ$îå Òèõîå;; \ No newline at end of file diff --git a/Vic2ToHoI4/Source/HOI4World/HoI4Country.cpp b/Vic2ToHoI4/Source/HOI4World/HoI4Country.cpp index 4e31a626ca..f0969fdc85 100644 --- a/Vic2ToHoI4/Source/HOI4World/HoI4Country.cpp +++ b/Vic2ToHoI4/Source/HOI4World/HoI4Country.cpp @@ -205,7 +205,7 @@ HoI4::Country::Country(const std::string& region_, const Regions& regions, Mappers::GraphicsMapper& graphicsMapper, Names& names): - generatedDominion(true), region(region_), oldCapital(-1) + unrecognizedNation(true), region(region_), oldCapital(-1) { if (const auto& regionName = regions.getRegionName(region); regionName) { diff --git a/Vic2ToHoI4/Source/HOI4World/HoI4Country.h b/Vic2ToHoI4/Source/HOI4World/HoI4Country.h index 063420cb2b..786ce30ffc 100644 --- a/Vic2ToHoI4/Source/HOI4World/HoI4Country.h +++ b/Vic2ToHoI4/Source/HOI4World/HoI4Country.h @@ -252,6 +252,7 @@ class Country [[nodiscard]] bool isGreatPower() const { return greatPower; } [[nodiscard]] bool isCivilized() const { return civilized; } [[nodiscard]] bool isGeneratedDominion() const { return generatedDominion; } + [[nodiscard]] bool isUnrecognizedNation() const { return unrecognizedNation; } [[nodiscard]] const auto& getRegion() const { return region; } [[nodiscard]] bool isNavalTreatyAdherent() const { return navalTreatyAdherent; } @@ -415,6 +416,7 @@ class Country bool greatPower = false; bool civilized = false; bool generatedDominion = false; + bool unrecognizedNation = false; std::string region; bool navalTreatyAdherent = false; diff --git a/Vic2ToHoI4/Source/HOI4World/HoI4Localisation.cpp b/Vic2ToHoI4/Source/HOI4World/HoI4Localisation.cpp index f47ecd022f..d1c9be50f2 100644 --- a/Vic2ToHoI4/Source/HOI4World/HoI4Localisation.cpp +++ b/Vic2ToHoI4/Source/HOI4World/HoI4Localisation.cpp @@ -482,6 +482,59 @@ void HoI4::Localisation::createGeneratedDominionLocalisations(const std::string& } +void HoI4::Localisation::createUnrecognizedNationLocalisations(const std::string& tag, + const Country& nation, + const Vic2::Localisations& vic2Localisations, + const Mappers::CountryNameMapper& countryNameMapper, + const std::set& majorIdeologies, + const ArticleRules& articleRules) +{ + const auto region = nation.getRegion(); + + const auto unrecognizedNameLocalisations = vic2Localisations.getTextInEachLanguage("unrecognized_name"); + const auto unrecognizedAdjectiveLocalisations = vic2Localisations.getTextInEachLanguage("unrecognized_adjective"); + for (const auto& ideology: majorIdeologies) + { + Vic2::LanguageToLocalisationMap localisationsForGovernment; + if (const auto localisations = vic2Localisations.getTextInEachLanguage("unrecognized_" + region); !localisations.empty()) + { + localisationsForGovernment = + configureDominionNames(localisations, unrecognizedNameLocalisations, unrecognizedAdjectiveLocalisations); + } + else + { + for (const auto& [language, localisation]: unrecognizedAdjectiveLocalisations) + { + auto newLocalisation = localisation; + if (const auto& secondPart = vic2Localisations.getTextInLanguage(region, language); secondPart) + { + newLocalisation += " " + *secondPart; + } + localisationsForGovernment.emplace(language, newLocalisation); + } + } + + addLocalisationsInAllLanguages(tag, "", "_DEF", ideology, localisationsForGovernment, articleRules); + if (localisationsForGovernment.empty()) + { + addLocalisationsInAllLanguages(tag, + "", + "_DEF", + ideology, + vic2Localisations.getTextInEachLanguage(region), + articleRules); + } + + addLocalisationsInAllLanguages(tag, + "_ADJ", + "", + ideology, + vic2Localisations.getTextInEachLanguage(region + "_ADJ"), + articleRules); + } +} + + void HoI4::Localisation::updateMainCountryLocalisation(const std::string& HoI4Key, const std::string& Vic2Tag, const std::string& Vic2Government, diff --git a/Vic2ToHoI4/Source/HOI4World/HoI4Localisation.h b/Vic2ToHoI4/Source/HOI4World/HoI4Localisation.h index cec844b31f..a1fc584431 100644 --- a/Vic2ToHoI4/Source/HOI4World/HoI4Localisation.h +++ b/Vic2ToHoI4/Source/HOI4World/HoI4Localisation.h @@ -81,6 +81,12 @@ class Localisation const Mappers::CountryNameMapper& countryNameMapper, const std::set& majorIdeologies, const ArticleRules& articleRules); + void createUnrecognizedNationLocalisations(const std::string& tag, + const Country& nation, + const Vic2::Localisations& vic2Localisations, + const Mappers::CountryNameMapper& countryNameMapper, + const std::set& majorIdeologies, + const ArticleRules& articleRules); void updateMainCountryLocalisation(const std::string& HoI4Key, const std::string& Vic2Tag, const std::string& Vic2Government, diff --git a/Vic2ToHoI4/Source/HOI4World/HoI4World.cpp b/Vic2ToHoI4/Source/HOI4World/HoI4World.cpp index ad4d699be3..9ba5a7aad0 100644 --- a/Vic2ToHoI4/Source/HOI4World/HoI4World.cpp +++ b/Vic2ToHoI4/Source/HOI4World/HoI4World.cpp @@ -373,6 +373,15 @@ void HoI4::World::convertCountryNames(const Vic2::Localisations& vic2Localisatio ideologies->getMajorIdeologies(), *articleRules); } + else if (country->isUnrecognizedNation()) + { + hoi4Localisations->createUnrecognizedNationLocalisations(tag, + *country, + vic2Localisations, + *countryNameMapper, + ideologies->getMajorIdeologies(), + *articleRules); + } else { hoi4Localisations->createCountryLocalisations(std::make_pair(country->getOldTag(), tag), diff --git a/Vic2ToHoI4/Vic2ToHoI4.vcxproj b/Vic2ToHoI4/Vic2ToHoI4.vcxproj index 0e8fa0fdc2..4becf321d1 100644 --- a/Vic2ToHoI4/Vic2ToHoI4.vcxproj +++ b/Vic2ToHoI4/Vic2ToHoI4.vcxproj @@ -1260,6 +1260,13 @@ $(OutDir)/Configurables/Vic2Localisations + + + Document + $(OutDir)/Configurables/Vic2Localisations + $(OutDir)/Configurables/Vic2Localisations + + \ No newline at end of file diff --git a/Vic2ToHoI4/Vic2ToHoI4.vcxproj.filters b/Vic2ToHoI4/Vic2ToHoI4.vcxproj.filters index 3228df4100..6e67387901 100644 --- a/Vic2ToHoI4/Vic2ToHoI4.vcxproj.filters +++ b/Vic2ToHoI4/Vic2ToHoI4.vcxproj.filters @@ -2825,5 +2825,8 @@ Data Files\Configurables\Vic2Localisations + + Data Files\Configurables\Vic2Localisations + \ No newline at end of file From e3797a1c6b0d946082859aabe6675b31683c3de4 Mon Sep 17 00:00:00 2001 From: Idhrendur Date: Mon, 6 Sep 2021 17:25:47 -0700 Subject: [PATCH 05/17] Flags for unrecognized countries. --- Vic2ToHoI4/Source/OutHoi4/OutFlags.cpp | 86 ++++++++++++++++++++++++++ 1 file changed, 86 insertions(+) diff --git a/Vic2ToHoI4/Source/OutHoi4/OutFlags.cpp b/Vic2ToHoI4/Source/OutHoi4/OutFlags.cpp index cc302f1afa..4050980031 100644 --- a/Vic2ToHoI4/Source/OutHoi4/OutFlags.cpp +++ b/Vic2ToHoI4/Source/OutHoi4/OutFlags.cpp @@ -22,6 +22,10 @@ std::optional createDominionFlag(const std::string& hoi4Suffix, const std::string& region, const Mods& vic2Mods); std::tuple getDominionFlagBaseColor(std::string_view hoi4Suffix); +std::optional createUnrecognizedNationFlag(const std::string& hoi4Suffix, + const std::string& vic2Suffix, + const std::string& region, + const Mods& vic2Mods); std::optional readFlag(const std::string& path); tga_image* createNewFlag(const tga_image* sourceFlag, unsigned int sizeX, unsigned int sizeY); void createBigFlag(const tga_image* sourceFlag, const std::string& filename, const std::string& outputName); @@ -120,6 +124,13 @@ void HoI4::processFlagsForCountry(const std::string& tag, country.getRegion(), vic2Mods); } + else if (country.isUnrecognizedNation()) + { + sourceFlag = createUnrecognizedNationFlag(hoi4Suffixes[i], + vic2Suffixes[i], + country.getRegion(), + vic2Mods); + } else { const auto sourcePath = getSourceFlagPath(country.getOldTag(), vic2Suffixes[i], vic2Mods); @@ -358,6 +369,81 @@ std::tuple HoI4::getDominionFlagBaseColor(std::string } +std::optional HoI4::createUnrecognizedNationFlag(const std::string& hoi4Suffix, + const std::string& vic2Suffix, + const std::string& region, + const Mods& vic2Mods) +{ + constexpr int sizeX = 93; + constexpr int sizeY = 64; + + const auto flag = new tga_image; + flag->image_id_length = 0; + flag->color_map_type = TGA_COLOR_MAP_ABSENT; + flag->image_type = TGA_IMAGE_TYPE_BGR; + flag->color_map_origin = 0; + flag->color_map_length = 0; + flag->color_map_depth = 0; + flag->origin_x = 0; + flag->origin_y = 0; + flag->width = sizeX; + flag->height = sizeY; + flag->pixel_depth = 32; + flag->image_descriptor = 8; + flag->image_id = nullptr; + flag->color_map_data = nullptr; + + flag->image_data = static_cast(malloc(sizeX * sizeY * 4)); + if (flag->image_data == nullptr) + { + return flag; + } + + for (unsigned int y = 0; y < sizeY; y++) + { + for (unsigned int x = 0; x < sizeX; x++) + { + const auto destIndex = (y * sizeX + x) * 4; + + flag->image_data[destIndex + 0] = 128; + flag->image_data[destIndex + 1] = 128; + flag->image_data[destIndex + 2] = 128; + flag->image_data[destIndex + 3] = 0xFF; + } + } + + const auto emblemPath = "flags/" + region + "_emblem.tga"; + const auto emblem = readFlag(emblemPath); + if (emblem) + { + const auto sourceBytesPerPixel = (*emblem)->pixel_depth / 8; + for (unsigned int y = 0; y < (*emblem)->height; y++) + { + for (unsigned int x = 0; x < (*emblem)->width; x++) + { + const auto sourceIndex = (y * (*emblem)->width + x) * sourceBytesPerPixel; + const auto destX = sizeX / 2 - (*emblem)->width / 2 + x; + const auto destY = y + sizeY / 2 - (*emblem)->height / 2; + const auto destIndex = (destY * sizeX + destX) * 4; + + // skip pixels masked by the alpha channel + if ((*emblem)->image_data[sourceIndex + 3] == 0) + { + continue; + } + + flag->image_data[destIndex + 0] = (*emblem)->image_data[sourceIndex + 0]; + flag->image_data[destIndex + 1] = (*emblem)->image_data[sourceIndex + 1]; + flag->image_data[destIndex + 2] = (*emblem)->image_data[sourceIndex + 2]; + flag->image_data[destIndex + 3] = 0xFF; + } + } + } + + return flag; +} + + std::optional HoI4::readFlag(const std::string& path) { auto flag = new tga_image; From 6e4c44380b8ac5a1a3af06c13acd54ba5873e1af Mon Sep 17 00:00:00 2001 From: Idhrendur Date: Mon, 6 Sep 2021 18:02:33 -0700 Subject: [PATCH 06/17] Culture and names for unrecognized nations. --- Vic2ToHoI4/Data_Files/configurables/names.txt | 8 ++++++++ Vic2ToHoI4/Source/HOI4World/HoI4Country.cpp | 2 ++ 2 files changed, 10 insertions(+) diff --git a/Vic2ToHoI4/Data_Files/configurables/names.txt b/Vic2ToHoI4/Data_Files/configurables/names.txt index 7e7776be1c..bcc1798997 100644 --- a/Vic2ToHoI4/Data_Files/configurables/names.txt +++ b/Vic2ToHoI4/Data_Files/configurables/names.txt @@ -3,6 +3,8 @@ # If a culture lacks an entry, the converter will output a line to remind you # [Vic2 culture] = { +# first_names = { [pool of male names] } +# last_names = { [pool of surnames] } # female_names = { [pool of female names] } # female_surnames = { [pool of female surnames] } # callsigns = { [pool of callsigns] } @@ -6931,6 +6933,12 @@ undead = { aircraft_companies = { £industry } intelligence_agencies = { £locked } } +unrecognized = { + first_names = { John } + female_names = { Jane } + last_names = { Doe } + callsigns = { MIA } +} unyamwezi = { female_names = { Nyamwezi } callsigns = { Black Africa Nyamwezi "the Foreigner" "the White" Colonizer Hunter } diff --git a/Vic2ToHoI4/Source/HOI4World/HoI4Country.cpp b/Vic2ToHoI4/Source/HOI4World/HoI4Country.cpp index f0969fdc85..9ed1bc912d 100644 --- a/Vic2ToHoI4/Source/HOI4World/HoI4Country.cpp +++ b/Vic2ToHoI4/Source/HOI4World/HoI4Country.cpp @@ -205,6 +205,8 @@ HoI4::Country::Country(const std::string& region_, const Regions& regions, Mappers::GraphicsMapper& graphicsMapper, Names& names): + primaryCulture("unrecognized"), + primaryCultureGroup("unrecognized"), unrecognizedNation(true), region(region_), oldCapital(-1) { if (const auto& regionName = regions.getRegionName(region); regionName) From d62b3175d11f8aee4d4670644d63222c457655c7 Mon Sep 17 00:00:00 2001 From: Idhrendur Date: Mon, 6 Sep 2021 18:12:49 -0700 Subject: [PATCH 07/17] No research slots for unrecognized nations --- Vic2ToHoI4/Source/OutHoi4/OutHoi4Country.cpp | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) diff --git a/Vic2ToHoI4/Source/OutHoi4/OutHoi4Country.cpp b/Vic2ToHoI4/Source/OutHoi4/OutHoi4Country.cpp index 331d08c3be..889c08d3b1 100644 --- a/Vic2ToHoI4/Source/OutHoi4/OutHoi4Country.cpp +++ b/Vic2ToHoI4/Source/OutHoi4/OutHoi4Country.cpp @@ -415,7 +415,7 @@ void HoI4::outputCountry(const std::set& ideologicalMinisters, void outputCapital(std::ostream& output, const std::optional& capitalStateNum); -void outputResearchSlots(std::ostream& output, const bool& greatPower, const bool& civilized); +void outputResearchSlots(std::ostream& output, bool greatPower, bool civilized, bool unrecognized); void outputThreat(std::ostream& output, const double& threat); void outputWars(std::ostream& output, const std::vector& wars); void outputOOBLines(std::ostream& output, const std::string& tag); @@ -480,7 +480,7 @@ void outputHistory(const HoI4::Country& theCountry, const Configuration& theConf { output << "set_major = yes\n"; } - outputResearchSlots(output, theCountry.isGreatPower(), theCountry.isCivilized()); + outputResearchSlots(output, theCountry.isGreatPower(), theCountry.isCivilized(), theCountry.isUnrecognizedNation()); outputThreat(output, theCountry.getThreat()); outputWars(output, theCountry.getWars()); outputOOBLines(output, tag); @@ -542,7 +542,7 @@ void outputCapital(std::ostream& output, const std::optional& capitalStateN } -void outputResearchSlots(std::ostream& output, const bool& greatPower, const bool& civilized) +void outputResearchSlots(std::ostream& output, bool greatPower, bool civilized, bool unrecognized) { if (greatPower) { @@ -552,6 +552,10 @@ void outputResearchSlots(std::ostream& output, const bool& greatPower, const boo { output << "set_research_slots = 3\n"; } + else if (unrecognized) + { + output << "set_research_slots = 0\n"; + } else { output << "set_research_slots = 2\n"; From 793dd8086ac7690a6af4622c352b0fed8772352c Mon Sep 17 00:00:00 2001 From: Idhrendur Date: Mon, 6 Sep 2021 18:24:16 -0700 Subject: [PATCH 08/17] Use a valid default leader ideology --- Vic2ToHoI4/Source/HOI4World/HoI4Country.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Vic2ToHoI4/Source/HOI4World/HoI4Country.h b/Vic2ToHoI4/Source/HOI4World/HoI4Country.h index 786ce30ffc..24383b416e 100644 --- a/Vic2ToHoI4/Source/HOI4World/HoI4Country.h +++ b/Vic2ToHoI4/Source/HOI4World/HoI4Country.h @@ -359,7 +359,7 @@ class Country std::string oldGovernment; std::string governmentIdeology = "neutrality"; - std::string leaderIdeology = "anarchism"; + std::string leaderIdeology = "dictatorship_neutral"; std::optional rulingParty; std::set parties; std::map upperHouseComposition; From d73a28c94694b42cce1b73133dc881aeac56c156 Mon Sep 17 00:00:00 2001 From: Idhrendur Date: Mon, 6 Sep 2021 18:50:03 -0700 Subject: [PATCH 09/17] Add unrecognized 'culture' --- .../Data_Files/blankMod/output/common/ideas/_cultures.txt | 6 ++++++ .../blankMod/output/localisation/cultures_l_english.yml | 3 +++ 2 files changed, 9 insertions(+) diff --git a/Vic2ToHoI4/Data_Files/blankMod/output/common/ideas/_cultures.txt b/Vic2ToHoI4/Data_Files/blankMod/output/common/ideas/_cultures.txt index 6cbe1d6941..2c949913f4 100644 --- a/Vic2ToHoI4/Data_Files/blankMod/output/common/ideas/_cultures.txt +++ b/Vic2ToHoI4/Data_Files/blankMod/output/common/ideas/_cultures.txt @@ -3141,6 +3141,12 @@ ideas = { trade_opinion_factor = -1 } } + culture_unrecognized = { + removal_cost = -1 + allowed = { always = no } allowed_civil_war = { always = no } + picture = culture_unrecognized + modifier = { } + } culture_unyamwezi = { removal_cost = -1 allowed = { always = no } allowed_civil_war = { always = yes } diff --git a/Vic2ToHoI4/Data_Files/blankMod/output/localisation/cultures_l_english.yml b/Vic2ToHoI4/Data_Files/blankMod/output/localisation/cultures_l_english.yml index d231d5b686..f7424fb94c 100644 --- a/Vic2ToHoI4/Data_Files/blankMod/output/localisation/cultures_l_english.yml +++ b/Vic2ToHoI4/Data_Files/blankMod/output/localisation/cultures_l_english.yml @@ -320,6 +320,7 @@ lang_uig:0 "Uyghur" lang_ukr:0 "Ukrainian" lang_umb:0 "Umbundu" + lang_unrecognized:0 "Unrecognized" lang_uzb:0 "Uzbek" lang_vie:0 "Vietnamese" lang_vmw:0 "Makhuwa" @@ -870,6 +871,7 @@ culture_ujvilag:0 "Újvilág" culture_ukrainian:0 "Ukrainian" culture_undead:0 "Undead" + culture_unrecognized:0 "Unrecognized" culture_unyamwezi:0 "Unyamwezi" culture_usmailmian:0 "Usmailmian" culture_uzbek:0 "Uzbek" @@ -1423,6 +1425,7 @@ culture_ujvilag_desc:0 "$primary_culture$: §Y$culture_ujvilag$§!\n$pron_guide$: §Yooey-VEE-lag§!\n$culture_group$: §Y$hungarian_culture_group$§!\n$idea_language$: §Y$lang_hun$§!" culture_ukrainian_desc:0 "$primary_culture$: §Y$culture_ukrainian$§!\n$culture_group$: §Y$east_slavic$§!\n$idea_language$: §Y$lang_ukr$§!" culture_undead_desc:0 "$primary_culture$: §Y$culture_undead$§!\n$culture_group$: §Y$anti_human$§!\n$idea_language$: §Y$undead_speak$§!" + culture_unrecognized_desc:0 "$primary_culture$: §Y$culture_unrecognized$§!\n$culture_group$: §Y$culture_unrecognized$§!\n$idea_language$: §Y$lang_unrecognized$§!" culture_unyamwezi_desc:0 "$primary_culture$: §Y$culture_unyamwezi$§!\n$culture_group$: §Y$east_african$§!\n$idea_language$: §Y$lang_nym$§!" culture_usmailmian_desc:0 "$primary_culture$: §Y$culture_usmailmian$§!\n$pron_guide$: §Yoos-MAH-eel-man§!\n$culture_group$: §Y$baltic$§!\n$idea_language$: §Y$lang_fin$§!" culture_uzbek_desc:0 "$primary_culture$: §Y$culture_uzbek$§!\n$culture_group$: §Y$iranian_turanian$§!\n$idea_language$: §Y$lang_uzb$§!" From f0727fddb98cc2c8124db42f121c0f19e45ae347 Mon Sep 17 00:00:00 2001 From: Idhrendur Date: Mon, 6 Sep 2021 20:02:22 -0700 Subject: [PATCH 10/17] No victory points to unrecognized nations --- .../Source/HOI4World/States/HoI4States.cpp | 20 +++++++++++++++++++ 1 file changed, 20 insertions(+) diff --git a/Vic2ToHoI4/Source/HOI4World/States/HoI4States.cpp b/Vic2ToHoI4/Source/HOI4World/States/HoI4States.cpp index 0d4e03dd4f..de48573d97 100644 --- a/Vic2ToHoI4/Source/HOI4World/States/HoI4States.cpp +++ b/Vic2ToHoI4/Source/HOI4World/States/HoI4States.cpp @@ -868,6 +868,10 @@ void HoI4::States::addCapitalVictoryPoints(const std::mapisUnrecognizedNation()) + { + continue; + } if (auto capitalState = states.find(*country->getCapitalState()); capitalState != states.end()) { capitalState->second.setVPValue(30); @@ -876,6 +880,10 @@ void HoI4::States::addCapitalVictoryPoints(const std::mapisUnrecognizedNation()) + { + continue; + } if (auto capitalState = states.find(*country->getCapitalState()); capitalState != states.end()) { capitalState->second.setVPValue(25); @@ -884,6 +892,10 @@ void HoI4::States::addCapitalVictoryPoints(const std::mapisUnrecognizedNation()) + { + continue; + } if (auto capitalState = states.find(*country->getCapitalState()); capitalState != states.end()) { capitalState->second.setVPValue(20); @@ -892,6 +904,10 @@ void HoI4::States::addCapitalVictoryPoints(const std::mapisUnrecognizedNation()) + { + continue; + } if (auto capitalState = states.find(*country->getCapitalState()); capitalState != states.end()) { capitalState->second.setVPValue(15); @@ -900,6 +916,10 @@ void HoI4::States::addCapitalVictoryPoints(const std::mapisUnrecognizedNation()) + { + continue; + } if (auto capitalState = states.find(*country->getCapitalState()); capitalState != states.end()) { capitalState->second.setVPValue(10); From 39941bca1c431613d8a9e1285724deff5530214b Mon Sep 17 00:00:00 2001 From: Idhrendur Date: Mon, 6 Sep 2021 20:30:30 -0700 Subject: [PATCH 11/17] Smash naval bases in unrecognized territory --- Vic2ToHoI4/Source/HOI4World/HoI4World.cpp | 1 + Vic2ToHoI4/Source/HOI4World/States/HoI4State.cpp | 10 ++++++++++ Vic2ToHoI4/Source/HOI4World/States/HoI4State.h | 1 + 3 files changed, 12 insertions(+) diff --git a/Vic2ToHoI4/Source/HOI4World/HoI4World.cpp b/Vic2ToHoI4/Source/HOI4World/HoI4World.cpp index 9ba5a7aad0..03c0d04568 100644 --- a/Vic2ToHoI4/Source/HOI4World/HoI4World.cpp +++ b/Vic2ToHoI4/Source/HOI4World/HoI4World.cpp @@ -681,6 +681,7 @@ void HoI4::World::addUnrecognizedNations(Mappers::CountryMapper::Factory& countr auto nation = getUnrecognizedNation(*stateRegion, *theRegions, *graphicsMapper, *names); nation->addCoreState(stateId); + state.smashNavalBases(); } auto& modifiableStates = states->getModifiableStates(); diff --git a/Vic2ToHoI4/Source/HOI4World/States/HoI4State.cpp b/Vic2ToHoI4/Source/HOI4World/States/HoI4State.cpp index b18c144d75..86a50a36aa 100644 --- a/Vic2ToHoI4/Source/HOI4World/States/HoI4State.cpp +++ b/Vic2ToHoI4/Source/HOI4World/States/HoI4State.cpp @@ -4,6 +4,7 @@ #include "StateCategories.h" #include "V2World/Provinces/Province.h" #include "V2World/States/State.h" +#include @@ -99,6 +100,15 @@ void HoI4::State::addNavalBase(int level, int location) } +void HoI4::State::smashNavalBases() +{ + for (auto& baseLevel: navalBases | std::views::values) + { + baseLevel = 0; + } +} + + void HoI4::State::addCores(const std::set& newCores) { for (auto newCore: newCores) diff --git a/Vic2ToHoI4/Source/HOI4World/States/HoI4State.h b/Vic2ToHoI4/Source/HOI4World/States/HoI4State.h index f57e66f768..ffe26055d4 100644 --- a/Vic2ToHoI4/Source/HOI4World/States/HoI4State.h +++ b/Vic2ToHoI4/Source/HOI4World/States/HoI4State.h @@ -57,6 +57,7 @@ class State const CoastalProvinces& theCoastalProvinces, const Mappers::ProvinceMapper& theProvinceMapper); void addNavalBase(int level, int location); + void smashNavalBases(); void addCores(const std::set& newCores); void addClaims(const std::set& newClaims); void convertControlledProvinces(const std::vector>& foreignControlledProvinces, From 4aa921001be272ea0548785dc01579d9466f7fa5 Mon Sep 17 00:00:00 2001 From: Idhrendur Date: Mon, 6 Sep 2021 20:36:32 -0700 Subject: [PATCH 12/17] No airbases for unrecognized nations. --- Vic2ToHoI4/Source/HOI4World/States/HoI4States.cpp | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/Vic2ToHoI4/Source/HOI4World/States/HoI4States.cpp b/Vic2ToHoI4/Source/HOI4World/States/HoI4States.cpp index de48573d97..117fcf6613 100644 --- a/Vic2ToHoI4/Source/HOI4World/States/HoI4States.cpp +++ b/Vic2ToHoI4/Source/HOI4World/States/HoI4States.cpp @@ -633,6 +633,11 @@ void HoI4::States::addCapitalAirBases(const std::mapisUnrecognizedNation()) + { + continue; + } + if (auto capitalState = states.find(*country.second->getCapitalState()); capitalState != states.end()) { capitalState->second.addAirBase(5); From 61becee02abff49457bd48078fa6ac58cfd51f7e Mon Sep 17 00:00:00 2001 From: Idhrendur Date: Tue, 7 Sep 2021 18:11:08 -0700 Subject: [PATCH 13/17] Unrecognized countries should have no focus tree. --- Vic2ToHoI4/Source/HOI4World/HoI4Country.cpp | 11 +++++++++++ Vic2ToHoI4/Source/HOI4World/HoI4Country.h | 1 + Vic2ToHoI4/Source/HOI4World/HoI4FocusTree.cpp | 1 + Vic2ToHoI4/Source/HOI4World/HoI4FocusTree.h | 4 ++++ Vic2ToHoI4/Source/HOI4World/HoI4World.cpp | 6 ++++++ .../HOI4World/WarCreator/HoI4WarCreator.cpp | 2 +- Vic2ToHoI4/Source/OutHoi4/OutFocusTree.cpp | 15 +++++++++------ 7 files changed, 33 insertions(+), 7 deletions(-) diff --git a/Vic2ToHoI4/Source/HOI4World/HoI4Country.cpp b/Vic2ToHoI4/Source/HOI4World/HoI4Country.cpp index 9ed1bc912d..e60fdffe28 100644 --- a/Vic2ToHoI4/Source/HOI4World/HoI4Country.cpp +++ b/Vic2ToHoI4/Source/HOI4World/HoI4Country.cpp @@ -1416,6 +1416,17 @@ void HoI4::Country::calculateIndustry(const std::map& allStates) } +void HoI4::Country::addEmptyFocusTree() +{ + if (!nationalFocus) + { + HoI4FocusTree emptyNationalFocus(*this); + emptyNationalFocus.makeEmpty(); + nationalFocus = emptyNationalFocus.makeCustomizedCopy(*this); + } +} + + void HoI4::Country::addGenericFocusTree(const std::set& majorIdeologies) { if (!nationalFocus) diff --git a/Vic2ToHoI4/Source/HOI4World/HoI4Country.h b/Vic2ToHoI4/Source/HOI4World/HoI4Country.h index 24383b416e..9ca6393e6f 100644 --- a/Vic2ToHoI4/Source/HOI4World/HoI4Country.h +++ b/Vic2ToHoI4/Source/HOI4World/HoI4Country.h @@ -118,6 +118,7 @@ class Country void addClaimedState(const int stateId) { claimedStates.insert(stateId); } void calculateIndustry(const std::map& allStates); void transferPuppets(const std::set& transferringPuppets, std::shared_ptr dominion); + void addEmptyFocusTree(); void addGenericFocusTree(const std::set& majorIdeologies); void addPuppetsIntegrationTree(HoI4::Localisation& hoi4Localisations); void addFocusTreeBranch(const std::string& branch, OnActions& onActions); diff --git a/Vic2ToHoI4/Source/HOI4World/HoI4FocusTree.cpp b/Vic2ToHoI4/Source/HOI4World/HoI4FocusTree.cpp index 23bd9d4140..d6cdd27f6a 100644 --- a/Vic2ToHoI4/Source/HOI4World/HoI4FocusTree.cpp +++ b/Vic2ToHoI4/Source/HOI4World/HoI4FocusTree.cpp @@ -657,6 +657,7 @@ std::unique_ptr HoI4FocusTree::makeCustomizedCopy(const HoI4::Cou newFocusTree.addFocus(newFocus); } newFocusTree.setNextFreeColumn(nextFreeColumn); + newFocusTree.emptyFocusTree = emptyFocusTree; return std::make_unique(std::move(newFocusTree)); } diff --git a/Vic2ToHoI4/Source/HOI4World/HoI4FocusTree.h b/Vic2ToHoI4/Source/HOI4World/HoI4FocusTree.h index ae8b136e39..ec690e7adc 100644 --- a/Vic2ToHoI4/Source/HOI4World/HoI4FocusTree.h +++ b/Vic2ToHoI4/Source/HOI4World/HoI4FocusTree.h @@ -102,6 +102,7 @@ class HoI4FocusTree: commonItems::parser const std::map& states); int calculateNumEnemyOwnedCores(const std::set& coreStates, const std::map& states); void removeFocus(const std::string& id); + void makeEmpty() { emptyFocusTree = true; } void addFocus(std::shared_ptr newFocus) { focuses.push_back(newFocus); } @@ -111,6 +112,7 @@ class HoI4FocusTree: commonItems::parser [[nodiscard]] const auto& getBranches() const { return branches; } [[nodiscard]] std::string getMutualExclusions(const std::string& ideology, const std::set& majorIdeologies); + [[nodiscard]] const bool isEmpty() const { return emptyFocusTree; } void addBranch(const std::string& tag, const std::string& branch, HoI4::OnActions& onActions); void eraseBranch(const std::string& branch) { branches.erase(branch); } @@ -133,6 +135,8 @@ class HoI4FocusTree: commonItems::parser std::vector> sharedFocuses; std::map> branches; // int nextFreeColumn = 0; + + bool emptyFocusTree = false; }; diff --git a/Vic2ToHoI4/Source/HOI4World/HoI4World.cpp b/Vic2ToHoI4/Source/HOI4World/HoI4World.cpp index 03c0d04568..abcfffb3cf 100644 --- a/Vic2ToHoI4/Source/HOI4World/HoI4World.cpp +++ b/Vic2ToHoI4/Source/HOI4World/HoI4World.cpp @@ -1251,6 +1251,12 @@ void HoI4::World::addFocusTrees() { continue; } + if (country->isUnrecognizedNation()) + { + country->addEmptyFocusTree(); + continue; + } + if (country->isGreatPower() || (country->getStrengthOverTime(3) > 4500)) { country->addGenericFocusTree(ideologies->getMajorIdeologies()); diff --git a/Vic2ToHoI4/Source/HOI4World/WarCreator/HoI4WarCreator.cpp b/Vic2ToHoI4/Source/HOI4World/WarCreator/HoI4WarCreator.cpp index d7197ae247..925cdb6fed 100644 --- a/Vic2ToHoI4/Source/HOI4World/WarCreator/HoI4WarCreator.cpp +++ b/Vic2ToHoI4/Source/HOI4World/WarCreator/HoI4WarCreator.cpp @@ -904,7 +904,7 @@ void HoI4WarCreator::generateReconquestWars(std::ofstream& AILog, for (const auto& [tag, country]: theWorld->getCountries()) { - if (tag == "UCV") + if (tag == "UCV" || country->isUnrecognizedNation()) { continue; } diff --git a/Vic2ToHoI4/Source/OutHoi4/OutFocusTree.cpp b/Vic2ToHoI4/Source/OutHoi4/OutFocusTree.cpp index 1369622e0b..b8c0c80ab4 100644 --- a/Vic2ToHoI4/Source/OutHoi4/OutFocusTree.cpp +++ b/Vic2ToHoI4/Source/OutHoi4/OutFocusTree.cpp @@ -30,12 +30,15 @@ void HoI4::outputFocusTree(const HoI4FocusTree& focusTree, const std::string& fi out << "\t\n"; out << "\tdefault = no\n"; out << "\t\n"; - out << "\tshared_focus = army_effort\n"; - out << "\tshared_focus = aviation_effort\n"; - out << "\tshared_focus = naval_effort\n"; - out << "\tshared_focus = industrial_effort\n"; - out << "\tshared_focus = political_effort\n"; - out << "\n"; + if (!focusTree.isEmpty()) + { + out << "\tshared_focus = army_effort\n"; + out << "\tshared_focus = aviation_effort\n"; + out << "\tshared_focus = naval_effort\n"; + out << "\tshared_focus = industrial_effort\n"; + out << "\tshared_focus = political_effort\n"; + out << "\n"; + } } for (const auto& focus: focusTree.getFocuses()) From c4cfda495698119f2e227a672cdde7a67e8a4f10 Mon Sep 17 00:00:00 2001 From: Idhrendur Date: Tue, 7 Sep 2021 18:14:56 -0700 Subject: [PATCH 14/17] Teraa nullius uses empty focus tree mechanism --- .../output/common/national_focus/terra_nullius.txt | 14 -------------- Vic2ToHoI4/Source/HOI4World/HoI4World.cpp | 6 +----- 2 files changed, 1 insertion(+), 19 deletions(-) delete mode 100644 Vic2ToHoI4/Data_Files/blankMod/output/common/national_focus/terra_nullius.txt diff --git a/Vic2ToHoI4/Data_Files/blankMod/output/common/national_focus/terra_nullius.txt b/Vic2ToHoI4/Data_Files/blankMod/output/common/national_focus/terra_nullius.txt deleted file mode 100644 index 229ce44ec8..0000000000 --- a/Vic2ToHoI4/Data_Files/blankMod/output/common/national_focus/terra_nullius.txt +++ /dev/null @@ -1,14 +0,0 @@ -focus_tree = { - id = UCV_focus - - country = { - factor = 0 - - modifier = { - add = 10 - tag = UCV - } - } - - default = no -} \ No newline at end of file diff --git a/Vic2ToHoI4/Source/HOI4World/HoI4World.cpp b/Vic2ToHoI4/Source/HOI4World/HoI4World.cpp index abcfffb3cf..c4051fa4a3 100644 --- a/Vic2ToHoI4/Source/HOI4World/HoI4World.cpp +++ b/Vic2ToHoI4/Source/HOI4World/HoI4World.cpp @@ -1247,11 +1247,7 @@ void HoI4::World::addFocusTrees() Log(LogLevel::Info) << "\tAdding focus trees"; for (auto [tag, country]: countries) { - if (tag == "UCV") - { - continue; - } - if (country->isUnrecognizedNation()) + if (tag == "UCV" || country->isUnrecognizedNation()) { country->addEmptyFocusTree(); continue; From c2cdca93af8bc733c3aa4b5d09e18025cce89e6c Mon Sep 17 00:00:00 2001 From: Idhrendur Date: Tue, 7 Sep 2021 18:20:28 -0700 Subject: [PATCH 15/17] No election events for unrecognized nations. --- Vic2ToHoI4/Source/HOI4World/HoI4World.cpp | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) diff --git a/Vic2ToHoI4/Source/HOI4World/HoI4World.cpp b/Vic2ToHoI4/Source/HOI4World/HoI4World.cpp index c4051fa4a3..4f8c9a01cf 100644 --- a/Vic2ToHoI4/Source/HOI4World/HoI4World.cpp +++ b/Vic2ToHoI4/Source/HOI4World/HoI4World.cpp @@ -1288,10 +1288,14 @@ void HoI4::World::addCountryElectionEvents(const std::set& theMajorIdeol { Log(LogLevel::Info) << "\tAdding country election events"; - for (auto country: countries) + for (auto& [tag, country]: countries) { - events->addPartyChoiceEvent(country.first, - country.second->getParties(), + if (country->isUnrecognizedNation()) + { + continue; + } + events->addPartyChoiceEvent(tag, + country->getParties(), *onActions, theMajorIdeologies, vic2Localisations, From a5617a28f6906b0fc0f6055349b5810514151284 Mon Sep 17 00:00:00 2001 From: Idhrendur Date: Tue, 7 Sep 2021 18:25:32 -0700 Subject: [PATCH 16/17] clang format --- Vic2ToHoI4/Source/HOI4World/HoI4Country.cpp | 7 +++---- Vic2ToHoI4/Source/HOI4World/HoI4Localisation.cpp | 3 ++- Vic2ToHoI4/Source/HOI4World/HoI4World.cpp | 2 +- Vic2ToHoI4/Source/OutHoi4/OutFlags.cpp | 5 +---- 4 files changed, 7 insertions(+), 10 deletions(-) diff --git a/Vic2ToHoI4/Source/HOI4World/HoI4Country.cpp b/Vic2ToHoI4/Source/HOI4World/HoI4Country.cpp index e60fdffe28..e868186f00 100644 --- a/Vic2ToHoI4/Source/HOI4World/HoI4Country.cpp +++ b/Vic2ToHoI4/Source/HOI4World/HoI4Country.cpp @@ -206,12 +206,11 @@ HoI4::Country::Country(const std::string& region_, Mappers::GraphicsMapper& graphicsMapper, Names& names): primaryCulture("unrecognized"), - primaryCultureGroup("unrecognized"), - unrecognizedNation(true), region(region_), oldCapital(-1) + primaryCultureGroup("unrecognized"), unrecognizedNation(true), region(region_), oldCapital(-1) { if (const auto& regionName = regions.getRegionName(region); regionName) { - name_ = "Unrecognized " + * regionName; + name_ = "Unrecognized " + *regionName; } if (const auto& regionAdjective = regions.getRegionAdjective(region); regionAdjective) @@ -219,7 +218,7 @@ HoI4::Country::Country(const std::string& region_, adjective_ = *regionAdjective; } - color = commonItems::Color(std::array{128,128,128}); + color = commonItems::Color(std::array{128, 128, 128}); } diff --git a/Vic2ToHoI4/Source/HOI4World/HoI4Localisation.cpp b/Vic2ToHoI4/Source/HOI4World/HoI4Localisation.cpp index d1c9be50f2..d55e33524f 100644 --- a/Vic2ToHoI4/Source/HOI4World/HoI4Localisation.cpp +++ b/Vic2ToHoI4/Source/HOI4World/HoI4Localisation.cpp @@ -496,7 +496,8 @@ void HoI4::Localisation::createUnrecognizedNationLocalisations(const std::string for (const auto& ideology: majorIdeologies) { Vic2::LanguageToLocalisationMap localisationsForGovernment; - if (const auto localisations = vic2Localisations.getTextInEachLanguage("unrecognized_" + region); !localisations.empty()) + if (const auto localisations = vic2Localisations.getTextInEachLanguage("unrecognized_" + region); + !localisations.empty()) { localisationsForGovernment = configureDominionNames(localisations, unrecognizedNameLocalisations, unrecognizedAdjectiveLocalisations); diff --git a/Vic2ToHoI4/Source/HOI4World/HoI4World.cpp b/Vic2ToHoI4/Source/HOI4World/HoI4World.cpp index 4f8c9a01cf..76feb627a0 100644 --- a/Vic2ToHoI4/Source/HOI4World/HoI4World.cpp +++ b/Vic2ToHoI4/Source/HOI4World/HoI4World.cpp @@ -1252,7 +1252,7 @@ void HoI4::World::addFocusTrees() country->addEmptyFocusTree(); continue; } - + if (country->isGreatPower() || (country->getStrengthOverTime(3) > 4500)) { country->addGenericFocusTree(ideologies->getMajorIdeologies()); diff --git a/Vic2ToHoI4/Source/OutHoi4/OutFlags.cpp b/Vic2ToHoI4/Source/OutHoi4/OutFlags.cpp index 4050980031..61af2ab5d1 100644 --- a/Vic2ToHoI4/Source/OutHoi4/OutFlags.cpp +++ b/Vic2ToHoI4/Source/OutHoi4/OutFlags.cpp @@ -126,10 +126,7 @@ void HoI4::processFlagsForCountry(const std::string& tag, } else if (country.isUnrecognizedNation()) { - sourceFlag = createUnrecognizedNationFlag(hoi4Suffixes[i], - vic2Suffixes[i], - country.getRegion(), - vic2Mods); + sourceFlag = createUnrecognizedNationFlag(hoi4Suffixes[i], vic2Suffixes[i], country.getRegion(), vic2Mods); } else { From aac2a02a841b427d45ab770600879cf0c6d65c17 Mon Sep 17 00:00:00 2001 From: Idhrendur Date: Wed, 8 Sep 2021 20:17:48 -0700 Subject: [PATCH 17/17] Review fixes --- .../Data_Files/configurables/Vic2Localisations/dominions.csv | 2 +- Vic2ToHoI4/Source/HOI4World/HoI4Country.h | 5 +++++ Vic2ToHoI4/Source/HOI4World/HoI4Localisation.cpp | 2 ++ 3 files changed, 8 insertions(+), 1 deletion(-) diff --git a/Vic2ToHoI4/Data_Files/configurables/Vic2Localisations/dominions.csv b/Vic2ToHoI4/Data_Files/configurables/Vic2Localisations/dominions.csv index 0da5388a8a..df94fb04e1 100644 --- a/Vic2ToHoI4/Data_Files/configurables/Vic2Localisations/dominions.csv +++ b/Vic2ToHoI4/Data_Files/configurables/Vic2Localisations/dominions.csv @@ -8,8 +8,8 @@ # * dom_ # If no localisation is found, the final localisation will be "$OWNER_ADJ$ $REGION$" # -dom_scandinavian_canada;Secret Denmark;Danemark Secret;Geheimnes Dänemark;Tajna Dania;Dinamarca Secreta;Danimarca Segreta;Titkos Dánia;Tajné Dánsko;Titkos Dánia;Geheim Denemarken;Dinamarca Secreta;Òàéíàÿ Äàíèÿ;Salainen Tanska;x ####;EN;FR;DE;PL;ES;IT;SW;CZ;HU;NL;PT;RU;FI;x +dom_scandinavian_canada;Secret Denmark;Danemark Secret;Geheimnes Dänemark;Tajna Dania;Dinamarca Secreta;Danimarca Segreta;Titkos Dánia;Tajné Dánsko;Titkos Dánia;Geheim Denemarken;Dinamarca Secreta;Òàéíàÿ Äàíèÿ;Salainen Tanska;x dom_canada;Canada;Canada $OVERLORD_ADJ$;$OVERLORD_ADJ$es Kanada;$OVERLORD_ADJ$a Kanada;Canadá $OVERLORD_ADJ$;Canada $OVERLORD_ADJ$;;;;;Canadá $OVERLORD_ADJ$;$OVERLORD_ADJ$àÿ Êàíàäà;;x dom_california;California;Californie $OVERLORD_ADJ$;$OVERLORD_ADJ$es Kalifornien;$OVERLORD_ADJ$a Kalifornia;California $OVERLORD_ADJ$;California $OVERLORD_ADJ$;;;;;Califórnia $OVERLORD_ADJ$;$OVERLORD_ADJ$àÿ Êàëèôîðíèÿ;;x dom_us_central;Louisiana;Louisiane $OVERLORD_ADJ$;$OVERLORD_ADJ$es Louisiana;$OVERLORD_ADJ$a Luizjana;Luisiana $OVERLORD_ADJ$;Luisiana $OVERLORD_ADJ$;;;;;Louisiana $OVERLORD_ADJ$;$OVERLORD_ADJ$àÿ Ëóèçèàíà;;x diff --git a/Vic2ToHoI4/Source/HOI4World/HoI4Country.h b/Vic2ToHoI4/Source/HOI4World/HoI4Country.h index 9ca6393e6f..d1fb04c099 100644 --- a/Vic2ToHoI4/Source/HOI4World/HoI4Country.h +++ b/Vic2ToHoI4/Source/HOI4World/HoI4Country.h @@ -54,6 +54,7 @@ namespace HoI4 class Country { public: + // For creating countries from Vic2 countries explicit Country(std::string tag, const Vic2::Country& sourceCountry, Names& names, @@ -64,11 +65,15 @@ class Country const date& startDate, const Mappers::ProvinceMapper& theProvinceMapper, const States& worldStates); + + /// For creating generated dominions explicit Country(const std::shared_ptr owner, const std::string& region_, const Regions& regions, Mappers::GraphicsMapper& graphicsMapper, Names& names); + + // For creating unrecognized nations explicit Country(const std::string& region_, const Regions& regions, Mappers::GraphicsMapper& graphicsMapper, diff --git a/Vic2ToHoI4/Source/HOI4World/HoI4Localisation.cpp b/Vic2ToHoI4/Source/HOI4World/HoI4Localisation.cpp index d55e33524f..aa17e419a0 100644 --- a/Vic2ToHoI4/Source/HOI4World/HoI4Localisation.cpp +++ b/Vic2ToHoI4/Source/HOI4World/HoI4Localisation.cpp @@ -496,12 +496,14 @@ void HoI4::Localisation::createUnrecognizedNationLocalisations(const std::string for (const auto& ideology: majorIdeologies) { Vic2::LanguageToLocalisationMap localisationsForGovernment; + // if there is a pre-set localisation of the form 'unrecognized_', use it if (const auto localisations = vic2Localisations.getTextInEachLanguage("unrecognized_" + region); !localisations.empty()) { localisationsForGovernment = configureDominionNames(localisations, unrecognizedNameLocalisations, unrecognizedAdjectiveLocalisations); } + // otherwise do 'Unrecognized $Region$' else { for (const auto& [language, localisation]: unrecognizedAdjectiveLocalisations)