innocenzi / LeagueReplayParser

C# library which can read some data from a .rofl file, and start a replay in the client. (no longer actively maintained)
25 stars 1 forks source link

How can I kwon the structrue of the Rofl? #1

Closed dengxiangcheng closed 7 years ago

dengxiangcheng commented 7 years ago

Thanks for your LeagueReplayParser! I want to get more information about ROFL ,for example, your data is the result,if I want some data at one point,how can I parse the ROFL

innocenzi commented 7 years ago

I am not sure I understand your question. Basically, a .rofl file contains data about a League game. Its content is not readable except for the big JSON part inside of it. This JSON part contains a lot of informations about players, such as their names, champions, and some statistics.

All the other data must contain, for example, the location of players at certain points, the time, direction of used spells etc, and basically all the other data that League has to know to show a replay.

how can I parse the ROFL

You have to read the file, find the JSON part, parse it, and to interpret the data. Actually, that's what LeagueReplayParser is made for...

innocenzi commented 7 years ago

@dengxiangcheng may I close this or do you have any other question?

EDIT Closing because of no response, but feel free to reopen

un0btanium commented 7 years ago

You should name it LeagueReplayHeaderParser then :P I was looking around for an accual indepth replay parser to extract ability casts throughout the game and stumbled upon your parser. Sadly, it seems like nobody has yet solved reading the accual replay data yet. I guess you are not feeling the urge to figure it out, right?

innocenzi commented 7 years ago

Well, that name is indeed misleading.

To be honest, I don't think you can extract that data. I'm pretty sure what is not JSON in the file is all binary data which cannot be deserialized without knowing the exact members of the original League of Legends' classes.

un0btanium commented 7 years ago

Yeah, i guess we would need some help and insight from Riot directly to make this possible.

I am really sad, that they did not provide some sort of api tools for it. There is so much potential for cool third party applications for it. I myself dream of useful automatic replay analyzer tools with graphs, diagrams and minimap pictures. After the official replay system dropped, the third party replay recording tools are mostly obsolute, replay analyzer tools could be the next big thing.

But it is understandable that Riot might not want to make their internal code public.

innocenzi commented 7 years ago

They'll never let us see their code and that's normal, but you can still dream of them giving us a way to get that data from the replay files.

I mean, probably not quickly, but maybe they can serialize some of this data in JSON somehow? But it's a lot of data, and that mean a lot of work for them. Either they let the binary serialization like it is right now, or they change it to a readable format which requires them to create an adapter, but probably not both...

I suggest you contact them or try something in the developers forums.