fix(net): sign-extend retail capacity bytes

Mirror PublicWeenieDesc::UnPack MOVSX behavior so ACE's FF capacity sentinels remain -1 instead of becoming 255. This suppresses non-container capacity prose through the normal retail appraisal checks, with raw-wire and formatter regression coverage.

Co-authored-by: Codex <codex@openai.com>
This commit is contained in:
Erik 2026-07-23 18:25:17 +02:00
parent d3c5e06fdd
commit 2c00d53db2
7 changed files with 101 additions and 41 deletions

View file

@ -411,8 +411,8 @@ if (Behavior & 0x04000000 IncludesSecondHeader):
Per-flag (in exact order):
0x00000001 PluralName : WString16L
0x00000002 ItemsCapacity : byte
0x00000004 ContainersCapacity: byte
0x00000002 ItemsCapacity : int8, sign-extended to int32
0x00000004 ContainersCapacity: int8, sign-extended to int32
0x00000100 AmmoType : uint16
0x00000008 Value : uint32
0x00000010 Usable : uint32 (Usable enum)