diff --git a/README.md b/README.md index 45612b6..709a6df 100644 --- a/README.md +++ b/README.md @@ -36,6 +36,7 @@ Legend: ✅ Confirmed working, ❔ Unconfirmed, - Not available in the store | Palworld | ✅ | - | | Persona 5 Royal | ✅ | - | | Persona 5 Tactica | ✅ | - | +| Railway Empire 2 | ❔ | ❔ | | Remnant 2 | ✅ | ❔ | | Remnant: From the Ashes | ❔ | ❔ | | Starfield | ✅ | - | diff --git a/games.json b/games.json index e81f4ff..6b54aae 100644 --- a/games.json +++ b/games.json @@ -196,6 +196,12 @@ "name": "State of Decay 2", "package": "Microsoft.Dayton_8wekyb3d8bbwe", "handler": "state-of-decay-2" + }, + // Railway Empire 2 + { + "name": "Railway Empire 2", + "package": "KalypsoMediaGroup.RailwayEmpire2Win_e60j8nnj33ga6", + "handler": "railway-empire-2" } ] } \ No newline at end of file diff --git a/main.py b/main.py index 85058a2..7cded0f 100644 --- a/main.py +++ b/main.py @@ -428,6 +428,16 @@ def get_save_paths( for file in containers[0]["files"]: fname = file["name"].split("/")[-1] + ".sav" save_meta.append((fname, file["path"])) + + elif handler_name == "railway-empire-2": + # Each container is one file. + # The files inside the container are "savegame" and "description". It seems that we can ignore "description". + for container in containers: + for file in container["files"]: + if file["name"] != "savegame": + continue + save_meta.append((container["name"], file["path"])) + else: raise Exception('Unsupported XGP app "%s"' % store_pkg_name)