restore multidata backwards compatibility

This commit is contained in:
Fabian Dill 2020-07-14 05:06:25 +02:00
parent ea9e103cb0
commit 59a71dbb05
2 changed files with 7 additions and 5 deletions

View File

@ -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),

View File

@ -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']}