-
Notifications
You must be signed in to change notification settings - Fork 120
Frequently Asked Questions
Welcome to the clarity wiki!
What's the difference between clarity-examples, clarity-analyzer, and clarity?
The three repositories do different things. Choosing which repository to clone and play with entirely depends on what you want to do. What is your use-case? What you want to contribute to?
- You want to write your own parsers for DotA 2 replays
- You want to analyze data about DotA 2 replays and retrieve the data into your own desired format
- You just want to use a pre-made application that analyzes the DotA 2 replays
- You just want to see data in a pre-made user interface
- You want to understand how the .dem files are processed
- You want to understand how the data it encoded with protobuf
- You want to contribute to the base library
clarity
used replay parsing
There are currently ongoing discussions about how game time is calculated.
In some cases, you might find an runtime error saying:
unknown embedded message of kind SOURCE2/154.
Please report this in the corresponding issue: https://github.com/skadistats/clarity/issues/58
In this case, @spheenik describes what an unknown message type is:
At the lowest level, the replay is a collection of "messages", or "packets", which are encoded with potobuf. On disk, only a packet type (as an int) is stored, so clarity needs to know, which protobuf message type has to be decoded how. This is done with the definitions in the package https://github.com/skadistats/clarity-protobuf.
So when clarity encounters a package type, it has no definition for, it warns you with this message. Valve add new message types every once in a while, and I have to update clarity-protobuf accordingly, which I did not do for quite a while, since I am a lazy bastard.
He uses a separate project to extract protobuf definitions but also tweaks the protobuf definitions so that clarity remains backward compatibility for older replay files.
He says that unknown embedded messages should not crash the analyzer.