Skip to content

Commit f761b1c

Browse files
committed
Handle new end of game event. More samples needed.
1 parent 533a67f commit f761b1c

File tree

1 file changed

+14
-5
lines changed

1 file changed

+14
-5
lines changed

sc2reader/readers.py

Lines changed: 14 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -228,6 +228,7 @@ class GameEventsReader_Base(object):
228228
def __init__(self):
229229
self.EVENT_DISPATCH = {
230230
0x05: self.game_start_event,
231+
0x07: self.beta_join_event,
231232
0x0B: self.player_join_event,
232233
0x0C: self.player_join_event,
233234
0x19: self.player_leave_event,
@@ -309,6 +310,10 @@ class GameEventsReader_16117(GameEventsReader_Base):
309310
def game_start_event(self, data, fstamp, pid, event_type):
310311
return GameStartEvent(fstamp, pid, event_type)
311312

313+
def beta_join_event(self, data, fstamp, pid, event_type):
314+
flags = data.read_bytes(5)
315+
return BetaJoinEvent(fstamp, pid, event_type, flags)
316+
312317
def player_join_event(self, data, fstamp, pid, event_type):
313318
unknown_flags = data.read_bits(self.PLAYER_JOIN_FLAGS)
314319
return PlayerJoinEvent(fstamp, pid, event_type, unknown_flags)
@@ -520,17 +525,21 @@ class GameEventsReader_Beta(GameEventsReader_22612):
520525

521526
def __init__(self):
522527
super(GameEventsReader_Beta, self).__init__()
523-
self.EVENT_DISPATCH[0x07] = self.beta_join_event
524528
self.EVENT_DISPATCH[0x65] = self.beta_win_event
525-
526-
def beta_join_event(self, data, fstamp, pid, event_type):
527-
flags = data.read_bytes(5)
528-
return BetaJoinEvent(fstamp, pid, event_type, flags)
529+
self.EVENT_DISPATCH[0x2B] = self.beta_end_game_event
529530

530531
def beta_win_event(self, data, fstamp, pid, event_type):
531532
flags = 0
532533
return BetaWinEvent(fstamp, pid, event_type, flags)
533534

535+
def beta_end_game_event(self, data, fstamp, pid, event_type):
536+
flags = data.read_bits(4)
537+
count = data.read_byte()
538+
for name in range(count):
539+
data.read_bytes(data.read_byte())
540+
data.read_byte()
541+
return UnknownEvent(fstamp, pid, event_type)
542+
534543
def camera_event(self, data, fstamp, pid, event_type):
535544
x = y= distance = pitch = yaw = height = 0
536545
if data.read_bits(1):

0 commit comments

Comments
 (0)