Skip to content

Commit 260d68c

Browse files
committed
support for build 65895
1 parent 34e6aa5 commit 260d68c

File tree

4 files changed

+34
-1
lines changed

4 files changed

+34
-1
lines changed

sc2reader/readers.py

Lines changed: 25 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1920,6 +1920,31 @@ def command_event(self, data):
19201920
unit_group=data.read_uint32() if data.read_bool() else None,
19211921
)
19221922

1923+
1924+
class GameEventsReader_65895(GameEventsReader_64469):
1925+
"""
1926+
corresponds to StarCraft 4.4.0
1927+
"""
1928+
1929+
def __init__(self):
1930+
super(GameEventsReader_65895, self).__init__()
1931+
1932+
self.EVENT_DISPATCH.update({
1933+
116: (None, self.set_sync_loading),
1934+
117: (None, self.set_sync_playing),
1935+
})
1936+
1937+
def set_sync_loading(self, data):
1938+
return dict(
1939+
sync_load=data.read_uint32()
1940+
)
1941+
1942+
def set_sync_playing(self, data):
1943+
return dict(
1944+
sync_load=data.read_uint32()
1945+
)
1946+
1947+
19231948
class TrackerEventsReader(object):
19241949

19251950
def __init__(self):

sc2reader/resources.py

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -587,7 +587,8 @@ def register_default_readers(self):
587587
self.register_reader('replay.game.events', readers.GameEventsReader_38215(), lambda r: 38215 <= r.base_build < 38749)
588588
self.register_reader('replay.game.events', readers.GameEventsReader_38749(), lambda r: 38749 <= r.base_build < 38996)
589589
self.register_reader('replay.game.events', readers.GameEventsReader_38996(), lambda r: 38996 <= r.base_build < 64469)
590-
self.register_reader('replay.game.events', readers.GameEventsReader_64469(), lambda r: 64469 <= r.base_build)
590+
self.register_reader('replay.game.events', readers.GameEventsReader_64469(), lambda r: 64469 <= r.base_build < 65895)
591+
self.register_reader('replay.game.events', readers.GameEventsReader_65895(), lambda r: 65895 <= r.base_build)
591592
self.register_reader('replay.game.events', readers.GameEventsReader_HotSBeta(), lambda r: r.versions[1] == 2 and r.build < 24247)
592593

593594
def register_default_datapacks(self):

test_replays/4.4.0.65895/1.SC2Replay

48.9 KB
Binary file not shown.

test_replays/test_all.py

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -575,6 +575,13 @@ def test_coop(self):
575575
factory = sc2reader.factories.SC2Factory()
576576
replay = factory.load_replay(replayfilename)
577577

578+
def test_65895(self):
579+
for replayfilename in [
580+
"test_replays/4.4.0.65895/1.SC2Replay",
581+
]:
582+
factory = sc2reader.factories.SC2Factory()
583+
replay = factory.load_replay(replayfilename)
584+
578585

579586
class TestGameEngine(unittest.TestCase):
580587
class TestEvent(object):

0 commit comments

Comments
 (0)