Open ayyaruq opened 3 years ago
Going through an example XML dump, there's no way to bind opcodes. Gonna have a chat with @goaaats if we can either get XEIF exports into xivmon, or I guess come up with a way to link a xivmon XML capture to a specific set of opcodes.
Hey, if you mean linking OpCodes to common names from e.g. Sapphire, every xivmon log has the tag index of the Sapphire repo at the time the log was captured - it downloads the header files from that commit and parses them to display information which allows for easy retargeting of logs.
Obviously that's unfeasible for you to implement, and since Sapphire isn't actively maintained at the moment, maybe I need to come up with another backend for that information at some point and put it in the log itself.
Thinking more about this, the default python xml reader is extremely slow and I'd probably recommend lxml.
However, that breaks my contract I made with the devil myself to only use stdlib for nari. So that would mean that we'd build a second package (perhaps nari-xivmon
) which just requires nari. Perhaps even do a separate repo like nari-readers
where we just bundle all of them and push them up to pypi as separate packages?
Alternatively, we could just write the code generically and check for lxml
- if it exists, we'll use it in the parser; if not, it'll fallback to slow python parsing?
A reader to parse ffxivmon XML packet dumps for testing unknown structs or additional opcodes more easily.