From 59a71dbb05ed920879fa91f175f6c67c40098fdb Mon Sep 17 00:00:00 2001 From: Fabian Dill Date: Tue, 14 Jul 2020 05:06:25 +0200 Subject: [PATCH] restore multidata backwards compatibility --- Main.py | 6 ++++-- MultiServer.py | 6 +++--- 2 files changed, 7 insertions(+), 5 deletions(-) diff --git a/Main.py b/Main.py index 4ef4398c..415807a5 100644 --- a/Main.py +++ b/Main.py @@ -262,9 +262,11 @@ def main(args, seed=None): precollected_items = [[] for player in range(world.players)] for item in world.precollected_items: precollected_items[item.player - 1].append(item.code) - multidata = zlib.compress(json.dumps({"names": parsed_names, - "roms": rom_names, + # backwards compat for < 2.4.1 + "roms": [(slot, team, list(name.encode())) + for (slot, team, name) in rom_names], + "rom_strings": rom_names, "remote_items": [player for player in range(1, world.players + 1) if world.remote_items[player]], "locations": [((location.address, location.player), diff --git a/MultiServer.py b/MultiServer.py index 8202992d..5ed4defa 100644 --- a/MultiServer.py +++ b/MultiServer.py @@ -111,9 +111,9 @@ class Context(Node): for team, names in enumerate(jsonobj['names']): for player, name in enumerate(names, 1): self.player_names[(team, player)] = name - version = jsonobj.get("version", [1, 0, 0]) - if version > [2, 4, 0]: - self.rom_names = {rom: (team, slot) for slot, team, rom in jsonobj['roms']} + + if "rom_strings" in jsonobj: + self.rom_names = {rom: (team, slot) for slot, team, rom in jsonobj['rom_strings']} else: self.rom_names = {bytes(letter for letter in rom).decode(): (team, slot) for slot, team, rom in jsonobj['roms']}