So, a little additional info on the packets that I found;
packet ID is an unsigned int, not a byte, and a packet starts with the packet ID; Jan's parser works by virtue of being "off by one" throughout, so it's not a big deal yet, but... yeah.
A few packet types:
- properties: clock, message
message contains "sniper", "arcade" or "post-mortem"; i.e. the packet indicates that the player who recorded the replay just changed their view to the specified one.
There's also a lot of subtypes under 0x08 - as far as I can tell
0x08 -> 0x02 and 0x04: track physics; seems related to the depression/raising of the suspension
0x08 -> 0x1d: comes with a variety of payloads embedded in a Python pickle (look for 0x80 0x02); has an additional embedded type and subtype as well indicating what's what. An example being the 'tank destroyed' packet, comes as victim, killer, and a death reason.
Will come out with a full(er) description later on
Makes sense, pretty sure there are very few (or even none) byte sized identifiers. In earlier versions I had a similar issue with the secondary packet size indicators. It's just a (bad?) habit of picking the smallest identifiable element to differentiate the packets.
Originally Posted by Scrambled