Add support for multi-opcode packets #35
Open
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Change was prompted by making the resultDialog packet behave closer to what the client does; in reality it's a SuperPacket that's part of FFXIV's Event system, and it has one opcode per possible fixed length. ResultDialog was thus renamed to EventResume, which is more appropriate to its actual function.
To support this, the Opcodes definition for ServerZoneIpcType had to be changed to a union of number and Array.
EventResume.category thus represents an EventHandlerType, which informs how the packet is handled by its specific EventHandler; some branch off into sub-packets (MarketTaxRates) while others stand on their own (such as DesynthResult).
These sub-packets were also changed to add more fields sent by the server, with an entirely new added packet for materia retrieval (RetrieveMateriaResult).
Finally, changed the end of line setting in prettier to match what the actual committed files in the repo used.
Huge commit is huge. 🙃