fix: Game18NArguments, SayItemtPacket, PinitSubPacket, RcPacket (17.6.0)#454
Merged
erwan-joly merged 1 commit intomasterfrom Apr 24, 2026
Merged
fix: Game18NArguments, SayItemtPacket, PinitSubPacket, RcPacket (17.6.0)#454erwan-joly merged 1 commit intomasterfrom
erwan-joly merged 1 commit intomasterfrom
Conversation
- **Game18NArguments**: the class is a custom non-generic IList<object>, so the generic list path crashed with IndexOutOfRange on GetGenericArguments()[0] and couldn't assign a List<object> to it anyway. Special-case it in DeserializeValue to consume the remaining tokens directly. Fixes sayi / msgi / msgi2. - **SayItemtPacket**: had four properties sharing [PacketIndex(3)] and [PacketIndex(4)], so deserialize put the character name into the Game18NConstString enum and threw "Requested value '<name>' was not found." Flattened to unique sequential indices and replaced the three typed sub-packet properties (IconInfo/EInfo/SlInfo) with a single string SubPacketRaw that captures the rest of the wire — only one of the four sub-packet shapes ever appears per packet so a typed poly field would need a real discriminator. - **PinitSubPacket**: real wire carries 11 tokens (2|id|pos|level|name|-1|319|1|0|0|0) but schema had only 10 fields and the value 319 was landing on a byte Gender field. Inserted an Unknown2 int at index 6 so everything downstream (Gender/Race/Morph/ HeroLevel) shifts one slot right. - **RcPacket**: new class for `rc 1 14477871 11468 0`. Fields named Unknown1/Unknown2 until their semantics are RE'd. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
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.
Batch of fixes the validator surfaced.
rcheader.114/114 tests.