loldevs / leaguespec

community crafted knowledge base around Riot Games observer system
Other
149 stars 18 forks source link

Blockparam content specification #34

Open hamhotline opened 9 years ago

hamhotline commented 9 years ago

I'm currently building a chunk/keyframe parser, and recently I've run into a few cases where I'm unsure what the data is telling me and how I should be acting.

For example, recently I've been working on the portion of the parser dealing with item purchase events. For most of these events, the entity ID is the expected 4 byte format starting at 0x19000040 and incrementing up based on player number. I would expect all events to have an entity ID corresponding to a specific player, because (obviously) the spectator must be told which player is purchasing what.

However, on occasion, I see an event with a blockparam value of 0x00 or even in some cases values like 0xFB.

The wiki has bits and pieces about this spec, but what do these 1 byte values actually represent? Does an 0x00 indicate that the entity ID of that event is the same as the previous event, similar to the type byte? And how do I interpret nonzero value like 0xFB?

doivosevic commented 4 years ago

I know you guys worked some years ago with the .rofl file parser. Is there any chance you might be willing to share the code of the parser? It would mean a lot!

strangeglyph commented 4 years ago

libOL was our reference implementation, iirc: https://github.com/loldevs/libOL