Skip to content

Commit cc364ff

Browse files
authored
Merge pull request #60 from StoicLoofah/build_65895_support
Build 65895 support
2 parents 34e6aa5 + 36e3f4e commit cc364ff

File tree

6 files changed

+39
-2
lines changed

6 files changed

+39
-2
lines changed

CHANGELOG.rst

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,10 @@
11
CHANGELOG
22
============
33

4+
1.1.0 - June 26, 2018
5+
---------------------
6+
* Added support for protocol 65895 (StarCraft 4.4.0)
7+
48
1.0.0 - May 18, 2018
59
--------------------
610
* Added support for protocol 48258 through 64469

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):

setup.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@
44
setuptools.setup(
55
license="MIT",
66
name="sc2reader",
7-
version='1.0.0',
7+
version='1.1.0',
88
keywords=["starcraft 2", "sc2", "replay", "parser"],
99
description="Utility for parsing Starcraft II replay files",
1010
long_description=open("README.rst").read()+"\n\n"+open("CHANGELOG.rst").read(),

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)