Skip to content

Commit 77d405f

Browse files
committed
handle 38996
1 parent 6a828a9 commit 77d405f

File tree

5 files changed

+31
-1
lines changed

5 files changed

+31
-1
lines changed

sc2reader/readers.py

Lines changed: 23 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1833,6 +1833,29 @@ def trigger_ping_event(self, data):
18331833
option=data.read_uint32() - 2147483648,
18341834
)
18351835

1836+
class GameEventsReader_38996(GameEventsReader_38749):
1837+
1838+
def trigger_ping_event(self, data):
1839+
print('yo')
1840+
return dict(
1841+
point=dict(
1842+
x=data.read_uint32() - 2147483648,
1843+
y=data.read_uint32() - 2147483648,
1844+
),
1845+
unit_tag=data.read_uint32(),
1846+
unit_link=data.read_uint16(),
1847+
unit_control_player_id=(data.read_bits(4) if data.read_bool() else None),
1848+
unit_upkeep_player_id=(data.read_bits(4) if data.read_bool() else None),
1849+
unit_position=dict(
1850+
x=data.read_bits(20),
1851+
y=data.read_bits(20),
1852+
z=data.read_bits(32) - 2147483648,
1853+
),
1854+
unit_is_under_construction=data.read_bool(),
1855+
pinged_minimap=data.read_bool(),
1856+
option=data.read_uint32() - 2147483648,
1857+
)
1858+
18361859
class TrackerEventsReader(object):
18371860

18381861
def __init__(self):

sc2reader/resources.py

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -572,7 +572,8 @@ def register_default_readers(self):
572572
self.register_reader('replay.game.events', readers.GameEventsReader_34784(), lambda r: 34784 <= r.base_build < 36442)
573573
self.register_reader('replay.game.events', readers.GameEventsReader_36442(), lambda r: 36442 <= r.base_build < 38215)
574574
self.register_reader('replay.game.events', readers.GameEventsReader_38215(), lambda r: 38215 <= r.base_build < 38749)
575-
self.register_reader('replay.game.events', readers.GameEventsReader_38749(), lambda r: 38749 <= r.base_build)
575+
self.register_reader('replay.game.events', readers.GameEventsReader_38749(), lambda r: 38749 <= r.base_build < 38996)
576+
self.register_reader('replay.game.events', readers.GameEventsReader_38996(), lambda r: 38996 <= r.base_build)
576577
self.register_reader('replay.game.events', readers.GameEventsReader_HotSBeta(), lambda r: r.versions[1] == 2 and r.build < 24247)
577578

578579
def register_default_datapacks(self):

test_replays/3.0.0.38996/1.SC2Replay

54.8 KB
Binary file not shown.

test_replays/3.0.0.38996/2.SC2Replay

50.5 KB
Binary file not shown.

test_replays/test_all.py

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -455,6 +455,12 @@ def test_38749(self):
455455
self.assertEqual(replay.expansion, 'HotS')
456456
replay = sc2reader.load_replay("test_replays/3.0.0.38749/2.SC2Replay")
457457
self.assertEqual(replay.expansion, 'HotS')
458+
459+
def test_38996(self):
460+
replay = sc2reader.load_replay("test_replays/3.0.0.38996/1.SC2Replay")
461+
self.assertEqual(replay.expansion, 'LotV')
462+
replay = sc2reader.load_replay("test_replays/3.0.0.38996/2.SC2Replay")
463+
self.assertEqual(replay.expansion, 'LotV')
458464

459465

460466
class TestGameEngine(unittest.TestCase):

0 commit comments

Comments
 (0)