Core: change how required versions work, deprecate IgnoreGame (#426)

`AutoWorld.World`s can set required_server_version and required_client_version properties. Drop `get_required_client_version()`.
`MultiServer` will set an absolute minimum client version based on its capability (protocol level).
`IgnoreVersion` tag is replaced by using `Tracker` or `TextOnly` with empty or null `game`.
Ignoring game will also ignore game's required_client_version (and fall back to server capability).
This commit is contained in:
black-sliver
2022-04-08 11:16:36 +02:00
committed by GitHub
parent 0acca6dd64
commit 42fecc7491
15 changed files with 55 additions and 55 deletions

View File

@@ -51,6 +51,9 @@ class SMZ3World(World):
remote_items: bool = False
remote_start_inventory: bool = False
# first added for 0.2.6
required_client_version = (0, 2, 6)
def __init__(self, world: MultiWorld, player: int):
self.rom_name_available_event = threading.Event()
self.locations = {}
@@ -135,10 +138,6 @@ class SMZ3World(World):
startRegion.exits.append(exit)
exit.connect(currentRegion)
def get_required_client_version(self):
# first added for 0.2.6
return max(super(SMZ3World, self).get_required_client_version(), (0, 2, 6))
def apply_sm_custom_sprite(self):
itemSprites = ["off_world_prog_item.bin", "off_world_item.bin"]
itemSpritesAddress = [0xF800, 0xF900]