Skip to content

Commit b12657f

Browse files
committed
Add camera event code 0x0a to the parsers.
From my limited experience this replay is only found in custom games and I've only come across it a dozen times. That said, I'm not really sure how to parse this. The current code works for now.
1 parent 7b2b7d3 commit b12657f

File tree

2 files changed

+11
-1
lines changed

2 files changed

+11
-1
lines changed

sc2reader/parsers.py

Lines changed: 10 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -339,7 +339,16 @@ def parse_cameraX1_event(self, buffer, frames, type, code, pid):
339339
flag = buffer.read_byte()
340340
if flag & 0x40 != 0:
341341
buffer.skip(2)
342-
342+
343+
return CameraMovementEvent(frames, pid, type, code)
344+
345+
def parse_camera0A_event(self, buffer, frames, type, code, pid):
346+
# Not really sure wtf is up with this event
347+
# I've only seen it a dozen times. Always (?) a custom game
348+
for i in range(6):
349+
if not buffer.read_int(BIG_ENDIAN) & 0xF0:
350+
break
351+
343352
return CameraMovementEvent(frames, pid, type, code)
344353

345354
class Unknown4Parser(object):

sc2reader/readers.py

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -298,6 +298,7 @@ def get_camera_parser(self, code):
298298
if code == 0x87: return self.parse_camera87_event
299299
elif code & 0x0F == 8: return self.parse_cameraX8_event
300300
elif code & 0x0F == 1: return self.parse_cameraX1_event
301+
elif code == 0x0a: return self.parse_camera0A_event
301302
else:
302303
# TODO: Raise a better error
303304
raise exceptions.ReadError("Unknown Camera Parser Code {0}".format(code))

0 commit comments

Comments
 (0)