mirror of
https://github.com/dcs-retribution/dcs-retribution.git
synced 2025-11-10 15:41:24 +00:00
Save-compat changes to allow loading Liberation saves
May be incomplete, some discrepancies in naming may still exist, but at least Kerbo's campaign can be loaded.
This commit is contained in:
@@ -31,6 +31,16 @@ def weapons_migrator(name: str) -> str:
|
||||
return name
|
||||
|
||||
|
||||
def weapons_migrator_lib(name: str) -> str:
|
||||
# Splitting this from our own migrations
|
||||
if "KH" in name:
|
||||
return "Kh" + name[2:]
|
||||
migration_map = {}
|
||||
while name in migration_map:
|
||||
name = migration_map[name]
|
||||
return name
|
||||
|
||||
|
||||
@dataclass(frozen=True)
|
||||
class Weapon:
|
||||
"""Wrapper for DCS weapons."""
|
||||
@@ -153,7 +163,9 @@ class WeaponGroup:
|
||||
|
||||
def __setstate__(self, state: dict[str, Any]) -> None:
|
||||
# Update any existing models with new data on load.
|
||||
updated = WeaponGroup.named(weapons_migrator(state["name"]))
|
||||
name = weapons_migrator(state["name"])
|
||||
name = weapons_migrator_lib(name)
|
||||
updated = WeaponGroup.named(name)
|
||||
state.update(updated.__dict__)
|
||||
self.__dict__.update(state)
|
||||
|
||||
|
||||
Reference in New Issue
Block a user