From b2cd92d937e221bbf84be4184b876f17cfbfae2b Mon Sep 17 00:00:00 2001 From: godric3 Date: Sat, 3 Feb 2024 10:36:47 +0100 Subject: [PATCH 1/2] Fix initializing map editor mod settings with more than one level of submods --- mapeditor/mapsettings/modsettings.cpp | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/mapeditor/mapsettings/modsettings.cpp b/mapeditor/mapsettings/modsettings.cpp index 5926542e5..330cb9c82 100644 --- a/mapeditor/mapsettings/modsettings.cpp +++ b/mapeditor/mapsettings/modsettings.cpp @@ -78,9 +78,8 @@ void ModSettings::initialize(MapController & c) auto pieces = qmodName.split("."); assert(pieces.size() > 1); - QString qs; - for(int i = 0; i < pieces.size() - 1; ++i) - qs += pieces[i]; + pieces.pop_back(); + auto qs = pieces.join("."); if(addedMods.count(qs)) { From ec735aa959fcaa9b3a3f2217f2b20f1a62069a86 Mon Sep 17 00:00:00 2001 From: godric3 Date: Sat, 3 Feb 2024 11:30:09 +0100 Subject: [PATCH 2/2] Fix mine resource and productivity on map load, also made them non editable --- mapeditor/inspector/inspector.cpp | 2 +- mapeditor/mapcontroller.cpp | 9 +++++++++ 2 files changed, 10 insertions(+), 1 deletion(-) diff --git a/mapeditor/inspector/inspector.cpp b/mapeditor/inspector/inspector.cpp index d489cc727..0b096182b 100644 --- a/mapeditor/inspector/inspector.cpp +++ b/mapeditor/inspector/inspector.cpp @@ -370,7 +370,7 @@ void Inspector::updateProperties(CGMine * o) addProperty("Owner", o->tempOwner, false); addProperty("Resource", o->producedResource); - addProperty("Productivity", o->producedQuantity, false); + addProperty("Productivity", o->producedQuantity); } void Inspector::updateProperties(CGResource * o) diff --git a/mapeditor/mapcontroller.cpp b/mapeditor/mapcontroller.cpp index ea94d4739..e768b3130 100644 --- a/mapeditor/mapcontroller.cpp +++ b/mapeditor/mapcontroller.cpp @@ -204,6 +204,15 @@ void MapController::repairMap(CMap * map) const art->storedArtifact = a; } } + //fix mines + if(auto * mine = dynamic_cast(obj.get())) + { + if(!mine->isAbandoned()) + { + mine->producedResource = GameResID(mine->subID); + mine->producedQuantity = mine->defaultResProduction(); + } + } } }