From 57ac87c038f7c45f151a76f8502d5ef3925770dc Mon Sep 17 00:00:00 2001 From: heroesiiifan <77574150+heroesiiifan@users.noreply.github.com> Date: Sat, 20 Sep 2025 14:48:41 +0200 Subject: [PATCH] fixed regions in campaigneditor --- docs/modders/Campaign_Format.md | 2 +- mapeditor/campaigneditor/campaignproperties.cpp | 15 ++++++++++----- 2 files changed, 11 insertions(+), 6 deletions(-) diff --git a/docs/modders/Campaign_Format.md b/docs/modders/Campaign_Format.md index 9def306b1..59f5906e6 100644 --- a/docs/modders/Campaign_Format.md +++ b/docs/modders/Campaign_Format.md @@ -188,7 +188,7 @@ If `startOptions` is `hero`, hero can be chosen as a starting bonus. Bonus forma ### Regions description -Predefined campaign regions are located in file `campaign_regions.json` +Predefined campaign regions are located in file `campaignRegions.json` ```json { diff --git a/mapeditor/campaigneditor/campaignproperties.cpp b/mapeditor/campaigneditor/campaignproperties.cpp index e10b47143..30b1f4f1a 100644 --- a/mapeditor/campaigneditor/campaignproperties.cpp +++ b/mapeditor/campaigneditor/campaignproperties.cpp @@ -38,13 +38,18 @@ CampaignProperties::CampaignProperties(std::shared_ptr campaignSt ui->lineEditMusic->setText(QString::fromStdString(campaignState->music.getName())); ui->checkBoxScenarioDifficulty->setChecked(campaignState->difficultyChosenByPlayer); - const JsonNode legacyRegionConfig(JsonPath::builtin("config/campaign_regions.json")); - int legacyRegionNumber = legacyRegionConfig["campaign_regions"].Vector().size(); + const JsonNode legacyRegionConfig(JsonPath::builtin("config/campaignRegions.json")); + auto legacyRegions = legacyRegionConfig.Struct(); + int legacyRegionNumber = legacyRegions.size(); for (int i = 0; i < legacyRegionNumber; i++) - ui->comboBoxRegionPreset->insertItem(i, QString::fromStdString(LIBRARY->generaltexth->translate("core.camptext.names", i))); + { + auto it = legacyRegions.begin(); + std::advance(it, i); + ui->comboBoxRegionPreset->insertItem(i, QString::fromStdString(it->first)); + } ui->comboBoxRegionPreset->insertItem(legacyRegionNumber, tr("Custom")); - ui->comboBoxRegionPreset->setCurrentIndex(20); + ui->comboBoxRegionPreset->setCurrentIndex(ui->comboBoxRegionPreset->count() - 1); loadRegion(); @@ -89,7 +94,7 @@ void CampaignProperties::on_buttonBox_clicked(QAbstractButton * button) void CampaignProperties::on_comboBoxRegionPreset_currentIndexChanged(int index) { - if(ui->comboBoxRegionPreset->count() == 21 && ui->comboBoxRegionPreset->currentIndex() != 20) + if(ui->comboBoxRegionPreset->currentIndex() != ui->comboBoxRegionPreset->count() - 1) regions = *LIBRARY->campaignRegions->getByIndex(index); loadRegion();