Skip to content

Commit 6905b19

Browse files
author
Your Name
committed
build 64469 support
1 parent 080e09d commit 6905b19

File tree

2 files changed

+43
-1
lines changed

2 files changed

+43
-1
lines changed

sc2reader/readers.py

Lines changed: 41 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1877,6 +1877,47 @@ def trigger_ping_event(self, data):
18771877
option=data.read_uint32() - 2147483648,
18781878
)
18791879

1880+
class GameEventsReader_64469(GameEventsReader_38749):
1881+
1882+
def command_event(self, data):
1883+
return dict(
1884+
flags=data.read_bits(26),
1885+
ability=dict(
1886+
ability_link=data.read_uint16(),
1887+
ability_command_index=data.read_bits(5),
1888+
ability_command_data=data.read_uint8() if data.read_bool() else None,
1889+
) if data.read_bool() else None,
1890+
data={ # Choice
1891+
0: lambda: ('None', None),
1892+
1: lambda: ('TargetPoint', dict(
1893+
point=dict(
1894+
x=data.read_bits(20),
1895+
y=data.read_bits(20),
1896+
z=data.read_uint32() - 2147483648,
1897+
)
1898+
)),
1899+
2: lambda: ('TargetUnit', dict(
1900+
flags=data.read_uint16(),
1901+
timer=data.read_uint8(),
1902+
unit_tag=data.read_uint32(),
1903+
unit_link=data.read_uint16(),
1904+
control_player_id=data.read_bits(4) if data.read_bool() else None,
1905+
upkeep_player_id=data.read_bits(4) if data.read_bool() else None,
1906+
point=dict(
1907+
x=data.read_bits(20),
1908+
y=data.read_bits(20),
1909+
z=data.read_uint32() - 2147483648,
1910+
),
1911+
)),
1912+
3: lambda: ('Data', dict(
1913+
data=data.read_uint32()
1914+
)),
1915+
}[data.read_bits(2)](),
1916+
sequence=data.read_uint32() + 1,
1917+
other_unit_tag=data.read_uint32() if data.read_bool() else None,
1918+
unit_group=data.read_uint32() if data.read_bool() else None,
1919+
)
1920+
18801921
class TrackerEventsReader(object):
18811922

18821923
def __init__(self):

sc2reader/resources.py

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -585,7 +585,8 @@ def register_default_readers(self):
585585
self.register_reader('replay.game.events', readers.GameEventsReader_36442(), lambda r: 36442 <= r.base_build < 38215)
586586
self.register_reader('replay.game.events', readers.GameEventsReader_38215(), lambda r: 38215 <= r.base_build < 38749)
587587
self.register_reader('replay.game.events', readers.GameEventsReader_38749(), lambda r: 38749 <= r.base_build < 38996)
588-
self.register_reader('replay.game.events', readers.GameEventsReader_38996(), lambda r: 38996 <= r.base_build)
588+
self.register_reader('replay.game.events', readers.GameEventsReader_38996(), lambda r: 38996 <= r.base_build < 64469)
589+
self.register_reader('replay.game.events', readers.GameEventsReader_64469(), lambda r: 64469 <= r.base_build)
589590
self.register_reader('replay.game.events', readers.GameEventsReader_HotSBeta(), lambda r: r.versions[1] == 2 and r.build < 24247)
590591

591592
def register_default_datapacks(self):

0 commit comments

Comments
 (0)