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:
@@ -69,6 +69,10 @@ class SMWorld(World):
|
||||
remote_items: bool = False
|
||||
remote_start_inventory: bool = False
|
||||
|
||||
# changes to client DeathLink handling for 0.2.1
|
||||
# changes to client Remote Item handling for 0.2.6
|
||||
required_client_version = (0, 2, 6)
|
||||
|
||||
itemManager: ItemManager
|
||||
|
||||
locations = {}
|
||||
@@ -167,11 +171,6 @@ class SMWorld(World):
|
||||
create_locations(self, self.player)
|
||||
create_regions(self, self.world, self.player)
|
||||
|
||||
def get_required_client_version(self):
|
||||
# changes to client DeathLink handling for 0.2.1
|
||||
# changes to client Remote Item handling for 0.2.6
|
||||
return max(super(SMWorld, self).get_required_client_version(), (0, 2, 6))
|
||||
|
||||
def getWord(self, w):
|
||||
return (w & 0x00FF, (w & 0xFF00) >> 8)
|
||||
|
||||
|
||||
Reference in New Issue
Block a user