Skip to content

Commit

Permalink
Merge pull request #60 from StoicLoofah/build_65895_support
Browse files Browse the repository at this point in the history
Build 65895 support
  • Loading branch information
StoicLoofah authored Jun 29, 2018
2 parents 34e6aa5 + 36e3f4e commit cc364ff
Show file tree
Hide file tree
Showing 6 changed files with 39 additions and 2 deletions.
4 changes: 4 additions & 0 deletions CHANGELOG.rst
Original file line number Diff line number Diff line change
@@ -1,6 +1,10 @@
CHANGELOG
============

1.1.0 - June 26, 2018
---------------------
* Added support for protocol 65895 (StarCraft 4.4.0)

1.0.0 - May 18, 2018
--------------------
* Added support for protocol 48258 through 64469
Expand Down
25 changes: 25 additions & 0 deletions sc2reader/readers.py
Original file line number Diff line number Diff line change
Expand Up @@ -1920,6 +1920,31 @@ def command_event(self, data):
unit_group=data.read_uint32() if data.read_bool() else None,
)


class GameEventsReader_65895(GameEventsReader_64469):
"""
corresponds to StarCraft 4.4.0
"""

def __init__(self):
super(GameEventsReader_65895, self).__init__()

self.EVENT_DISPATCH.update({
116: (None, self.set_sync_loading),
117: (None, self.set_sync_playing),
})

def set_sync_loading(self, data):
return dict(
sync_load=data.read_uint32()
)

def set_sync_playing(self, data):
return dict(
sync_load=data.read_uint32()
)


class TrackerEventsReader(object):

def __init__(self):
Expand Down
3 changes: 2 additions & 1 deletion sc2reader/resources.py
Original file line number Diff line number Diff line change
Expand Up @@ -587,7 +587,8 @@ def register_default_readers(self):
self.register_reader('replay.game.events', readers.GameEventsReader_38215(), lambda r: 38215 <= r.base_build < 38749)
self.register_reader('replay.game.events', readers.GameEventsReader_38749(), lambda r: 38749 <= r.base_build < 38996)
self.register_reader('replay.game.events', readers.GameEventsReader_38996(), lambda r: 38996 <= r.base_build < 64469)
self.register_reader('replay.game.events', readers.GameEventsReader_64469(), lambda r: 64469 <= r.base_build)
self.register_reader('replay.game.events', readers.GameEventsReader_64469(), lambda r: 64469 <= r.base_build < 65895)
self.register_reader('replay.game.events', readers.GameEventsReader_65895(), lambda r: 65895 <= r.base_build)
self.register_reader('replay.game.events', readers.GameEventsReader_HotSBeta(), lambda r: r.versions[1] == 2 and r.build < 24247)

def register_default_datapacks(self):
Expand Down
2 changes: 1 addition & 1 deletion setup.py
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@
setuptools.setup(
license="MIT",
name="sc2reader",
version='1.0.0',
version='1.1.0',
keywords=["starcraft 2", "sc2", "replay", "parser"],
description="Utility for parsing Starcraft II replay files",
long_description=open("README.rst").read()+"\n\n"+open("CHANGELOG.rst").read(),
Expand Down
Binary file added test_replays/4.4.0.65895/1.SC2Replay
Binary file not shown.
7 changes: 7 additions & 0 deletions test_replays/test_all.py
Original file line number Diff line number Diff line change
Expand Up @@ -575,6 +575,13 @@ def test_coop(self):
factory = sc2reader.factories.SC2Factory()
replay = factory.load_replay(replayfilename)

def test_65895(self):
for replayfilename in [
"test_replays/4.4.0.65895/1.SC2Replay",
]:
factory = sc2reader.factories.SC2Factory()
replay = factory.load_replay(replayfilename)


class TestGameEngine(unittest.TestCase):
class TestEvent(object):
Expand Down

0 comments on commit cc364ff

Please sign in to comment.