Skip to content

Commit 27948bf

Browse files
committed
correctly handle 38749. test passes now
1 parent b6d63e5 commit 27948bf

File tree

2 files changed

+23
-10
lines changed

2 files changed

+23
-10
lines changed

sc2reader/readers.py

Lines changed: 20 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -1215,14 +1215,6 @@ def trigger_ping_event(self, data):
12151215
y=data.read_uint32()-2147483648,
12161216
),
12171217
unit_tag=data.read_uint32(),
1218-
unit_link=data.read_uint16() if replay.build >= 38749 else None,
1219-
unit_control_player_id=(data.read_bits(4) if data.read_bool() else None) if replay.build >= 38749 else None,
1220-
unit_upkeep_player_id=(data.read_bits(4) if data.read_bool() else None) if replay.build >= 38749 else None,
1221-
unit_position=dict(
1222-
x=data.read_bits(20),
1223-
y=data.read_bits(20),
1224-
z=data.read_bits(32) - 2147483648,
1225-
) if replay.build >= 38749 else None,
12261218
pinged_minimap=data.read_bool(),
12271219
)
12281220

@@ -1820,6 +1812,26 @@ def user_options_event(self, data):
18201812
use_ai_beacons=None,
18211813
)
18221814

1815+
class GameEventsReader_38749(GameEventsReader_38215):
1816+
1817+
def trigger_ping_event(self, data):
1818+
return dict(
1819+
point=dict(
1820+
x=data.read_uint32() - 2147483648,
1821+
y=data.read_uint32() - 2147483648,
1822+
),
1823+
unit_tag=data.read_uint32(),
1824+
unit_link=data.read_uint16(),
1825+
unit_control_player_id=(data.read_bits(4) if data.read_bool() else None),
1826+
unit_upkeep_player_id=(data.read_bits(4) if data.read_bool() else None),
1827+
unit_position=dict(
1828+
x=data.read_bits(20),
1829+
y=data.read_bits(20),
1830+
z=data.read_bits(32) - 2147483648,
1831+
),
1832+
pinged_minimap=data.read_bool(),
1833+
option=data.read_uint32() - 2147483648,
1834+
)
18231835

18241836
class TrackerEventsReader(object):
18251837

sc2reader/resources.py

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
# -*- coding: utf-8 -*-
1+
# -*- coding: utf-8 -*-
22
from __future__ import absolute_import, print_function, unicode_literals, division
33

44
from collections import defaultdict, namedtuple
@@ -571,7 +571,8 @@ def register_default_readers(self):
571571
self.register_reader('replay.game.events', readers.GameEventsReader_27950(), lambda r: 27950 <= r.base_build < 34784)
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)
574-
self.register_reader('replay.game.events', readers.GameEventsReader_38215(), lambda r: 38215 <= r.base_build)
574+
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)
575576
self.register_reader('replay.game.events', readers.GameEventsReader_HotSBeta(), lambda r: r.versions[1] == 2 and r.build < 24247)
576577

577578
def register_default_datapacks(self):

0 commit comments

Comments
 (0)