Skip to content

Commit 8504c7f

Browse files
committed
Add support for two new beta events.
As far as I can tell they are some form of player join and game over type events. I don't really know how far back they go or what they do at this point.
1 parent 63f20f8 commit 8504c7f

File tree

2 files changed

+23
-0
lines changed

2 files changed

+23
-0
lines changed

sc2reader/events.py

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -89,6 +89,20 @@ def __init__(self, frame, pid, flags, x, y):
8989
class UnknownEvent(GameEvent):
9090
name = 'UnknownEvent'
9191

92+
class BetaJoinEvent(GameEvent):
93+
name = 'BetaJoinEvent'
94+
95+
def __init__(self, frames, pid, event_type, flags):
96+
super(BetaJoinEvent, self).__init__(frames, pid, event_type)
97+
self.flags = flags
98+
99+
class BetaWinEvent(GameEvent):
100+
name = 'BetaWinEvent'
101+
102+
def __init__(self, frames, pid, event_type, flags):
103+
super(BetaWinEvent, self).__init__(frames, pid, event_type)
104+
self.flags = flags
105+
92106
class PlayerJoinEvent(GameEvent):
93107
name = 'PlayerJoinEvent'
94108

sc2reader/readers.py

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -211,6 +211,7 @@ class GameEventsReader_Base(object):
211211
def __call__(self, data, replay):
212212
EVENT_DISPATCH = {
213213
0x05: self.game_start_event,
214+
0x07: self.beta_join_event,
214215
0x0B: self.player_join_event,
215216
0x0C: self.player_join_event,
216217
0x19: self.player_leave_event,
@@ -220,6 +221,7 @@ def __call__(self, data, replay):
220221
0x1F: self.player_send_resource_event,
221222
0x31: self.camera_event,
222223
0x46: self.player_request_resource_event,
224+
0x65: self.beta_win_event,
223225
}
224226

225227
game_events = list()
@@ -531,3 +533,10 @@ def player_selection_event(self, data, fstamp, pid, event_type):
531533

532534
class GameEventsReader_Beta_23925(GameEventsReader_Beta):
533535
PLAYER_JOIN_FLAGS = 32
536+
def beta_join_event(self, data, fstamp, pid, event_type):
537+
flags = data.read_bytes(5)
538+
return BetaJoinEvent(fstamp, pid, event_type, flags)
539+
540+
def beta_win_event(self, data, fstamp, pid, event_type):
541+
flags = 0
542+
return BetaWinEvent(fstamp, pid, event_type, flags)

0 commit comments

Comments
 (0)