From 9eee47a6285529d95977a2cc91519093d5761ef0 Mon Sep 17 00:00:00 2001 From: Yair Morgenstern Date: Mon, 13 Mar 2023 16:59:09 +0200 Subject: [PATCH] Resolved #8880 - deprecated old barb camp serialzation --- .../unciv/json/NonStringKeyMapSerializer.kt | 22 ++-------------- .../com/unciv/logic/BackwardCompatibility.kt | 25 ------------------- core/src/com/unciv/logic/GameInfo.kt | 2 -- 3 files changed, 2 insertions(+), 47 deletions(-) diff --git a/core/src/com/unciv/json/NonStringKeyMapSerializer.kt b/core/src/com/unciv/json/NonStringKeyMapSerializer.kt index ddc94edc2d..809213dc1a 100644 --- a/core/src/com/unciv/json/NonStringKeyMapSerializer.kt +++ b/core/src/com/unciv/json/NonStringKeyMapSerializer.kt @@ -40,28 +40,10 @@ class NonStringKeyMapSerializer, KT>( override fun read(json: Json, jsonData: JsonValue, type: Class<*>?): MT { val result = mutableMapFactory() val entries = jsonData.get("entries") - if (entries == null) { - readOldFormat(jsonData, json, result) - } else { - readNewFormat(entries, json, result) - } + readNewFormat(entries, json, result) return result } - @Deprecated("This is only here temporarily until all users migrate the old properties to the new ones") - private fun readOldFormat(jsonData: JsonValue, json: Json, result: MT) { - @Suppress("UNCHECKED_CAST") // We know better - val map = result as MutableMap - var child: JsonValue? = jsonData.child - while (child != null) { - if (child.name == "class") { - child = child.next - continue - } - map[child.name] = json.readValue(null, child) - child = child.next - } - } private fun readNewFormat(entries: JsonValue, json: Json, result: MT) { var entry = entries.child @@ -73,4 +55,4 @@ class NonStringKeyMapSerializer, KT>( entry = entry.next } } -} \ No newline at end of file +} diff --git a/core/src/com/unciv/logic/BackwardCompatibility.kt b/core/src/com/unciv/logic/BackwardCompatibility.kt index 6c88c7ce79..cb5ae7ca23 100644 --- a/core/src/com/unciv/logic/BackwardCompatibility.kt +++ b/core/src/com/unciv/logic/BackwardCompatibility.kt @@ -1,9 +1,5 @@ package com.unciv.logic -import com.badlogic.gdx.math.Vector2 -import com.badlogic.gdx.utils.JsonValue -import com.unciv.json.HashMapVector2 -import com.unciv.json.json import com.unciv.logic.city.CityConstructions import com.unciv.logic.city.PerpetualConstruction import com.unciv.logic.civilization.diplomacy.DiplomacyFlags @@ -152,27 +148,6 @@ object BackwardCompatibility { } } - /** - * Fixes barbarian manager camps not being correctly serialized. Previously we had a [HashMap]. We need to fix that each time an old save is loaded. - * - * When removing this, also remove [com.unciv.json.NonStringKeyMapSerializer.readOldFormat] - */ - @Suppress("DEPRECATION") - fun BarbarianManager.migrateBarbarianCamps() { - if (isOldFormat(this)) { - val newFormat = HashMapVector2() - @Suppress("UNCHECKED_CAST") // The old format is deserialized to a map - for ((key, value) in camps as MutableMap) { - val newKey = Vector2().fromString(key) - val newValue = json().readValue(Encampment::class.java, value) - newFormat[newKey] = newValue - } - - camps.clear() - camps.putAll(newFormat) - } - } /** Convert from Fortify X to Fortify and save off X */ fun GameInfo.convertFortify() { diff --git a/core/src/com/unciv/logic/GameInfo.kt b/core/src/com/unciv/logic/GameInfo.kt index d1df0ada61..442caca0f3 100644 --- a/core/src/com/unciv/logic/GameInfo.kt +++ b/core/src/com/unciv/logic/GameInfo.kt @@ -6,7 +6,6 @@ import com.unciv.UncivGame.Version import com.unciv.logic.BackwardCompatibility.convertFortify import com.unciv.logic.BackwardCompatibility.convertOldGameSpeed import com.unciv.logic.BackwardCompatibility.guaranteeUnitPromotions -import com.unciv.logic.BackwardCompatibility.migrateBarbarianCamps import com.unciv.logic.BackwardCompatibility.migrateToTileHistory import com.unciv.logic.BackwardCompatibility.removeMissingModReferences import com.unciv.logic.GameInfo.Companion.CURRENT_COMPATIBILITY_NUMBER @@ -494,7 +493,6 @@ class GameInfo : IsPartOfGameInfoSerialization, HasGameInfoSerializationVersion gameParameters.baseRuleset = baseRulesetInMods gameParameters.mods = LinkedHashSet(gameParameters.mods.filter { it != baseRulesetInMods }) } - barbarians.migrateBarbarianCamps() ruleset = RulesetCache.getComplexRuleset(gameParameters)