Closed JordanLongstaff closed 5 years ago
Yeah, it's messy 😦 The first integer is an object ID. Yes, beams have their own IDs. The next integer is what I have called "type" If type==0 (enemy beam), 1 (player beam), or 4 (yeah not sure) (all are protocol version <= 2.2.0)...
if type==8 (protocol version <= 2.2.0) there's a lot of unknowns that MIGHT correspond to undefined values in the corresponding fields above?
If type==9 (protocol version 2.3.0+)...
I wish I was joking about how complicated it is, or how confusing the whole type/subtype/protocol_version thing is, and if type==8 is the same structure as type==0,1,4, then I wish I knew why those values LOOK so much like shorts (possibly UTF16s - they look SOMEWHAT printable, but also somewhat nonsense) 😖
Actually... See also https://github.com/artemis-nerds/protocol-docs/issues/83 - I'll mark this issue as a dupe.
If you're OK taking this to #83 , I'll close this. Feel free to re-open if you think it's a different question.
The current description of BeamFiredPacket leaves me confused. Apparently it has some convention of structs and unknown fields and apparently this affects which fields are included in the packet structure. Are we sure this is what is really going on, and if so, can we fill in the missing details?