@@ -217,10 +217,9 @@ class GameEventsReader_Base(object):
217217 HOTKEY_OVERLAY = 0
218218 POFFSET = -1
219219
220- def __call__ (self, data, replay ):
221- EVENT_DISPATCH = {
220+ def __init__ (self):
221+ self. EVENT_DISPATCH = {
222222 0x05: self.game_start_event,
223- 0x07: self.beta_join_event,
224223 0x0B: self.player_join_event,
225224 0x0C: self.player_join_event,
226225 0x19: self.player_leave_event,
@@ -230,9 +229,9 @@ def __call__(self, data, replay):
230229 0x1F: self.player_send_resource_event,
231230 0x31: self.camera_event,
232231 0x46: self.player_request_resource_event,
233- 0x65: self.beta_win_event,
234232 }
235233
234+ def __call__(self, data, replay):
236235 game_events = list()
237236 fstamp = 0
238237 debug = replay.opt.debug
@@ -254,8 +253,8 @@ def __call__(self, data, replay):
254253 event_type = read_bits(7)
255254
256255 # Check for a lookup
257- if event_type in EVENT_DISPATCH:
258- event = EVENT_DISPATCH[event_type](data, fstamp, pid, event_type)
256+ if event_type in self. EVENT_DISPATCH:
257+ event = self. EVENT_DISPATCH[event_type](data, fstamp, pid, event_type)
259258 if debug:
260259 event.bytes = data.read_range(event_start, tell())
261260 append(event)
@@ -510,6 +509,12 @@ class GameEventsReader_22612(GameEventsReader_19595):
510509 UNIT_INDEX_BITS = 9 # Now can select up to 512 units
511510
512511class GameEventsReader_Beta(GameEventsReader_22612):
512+
513+ def __init__(self):
514+ super(GameEventsReader_Beta, self).__init__()
515+ self.EVENT_DISPATCH[0x07] = self.beta_join_event
516+ self.EVENT_DISPATCH[0x65] = self.beta_win_event
517+
513518 def beta_join_event(self, data, fstamp, pid, event_type):
514519 flags = data.read_bytes(5)
515520 return BetaJoinEvent(fstamp, pid, event_type, flags)
0 commit comments