mirror of
https://github.com/Kelsidavis/WoWee.git
synced 2026-06-09 00:24:42 -04:00
Per cmangos / vmangos Vanilla 1.12 opcode tables: SMSG_INSPECT = 0x115 (cmangos Opcodes.h:315, vmangos Opcodes_1_12_1.h:280) That wire slot was REPURPOSED in TBC to SMSG_INSPECT_RESULTS_UPDATE (with a different packet body). The Classic opcode table inherited the post-TBC name, which meant: - Server sends 0x115 with the Vanilla SMSG_INSPECT body (PackedGUID + 19 uint32 itemEntries — EQUIPMENT_SLOT_END=19). - fromWire(0x115) returned LogicalOpcode::SMSG_INSPECT_RESULTS_UPDATE on Classic. - social_handler.cpp:128 routed the bytes to handleInspectResults(), which parses the WotLK-style format and misread the packet. - The handler at game_handler_packets.cpp:1902 — which has the correct Classic 1.12 parser and an explicit comment 'only reachable on Classic servers' — was dead code on Classic. Fixing the JSON name routes wire 0x115 to the Classic-aware handler. TBC and WotLK JSONs are untouched (SMSG_INSPECT_RESULTS_UPDATE = 0x115 is correct for those expansions). Turtle inherits classic via _extends, so it gets the fix automatically. Not patched in this commit: - SMSG_SET_REST_START / SMSG_QUEST_FORCE_REMOVE both legitimately exist at 0x21E across forks (vmangos uses one name, AzerothCore/TC uses the other). quest_handler.cpp:685-700 already disambiguates by expansion at runtime, so the existing mapping is defensible. - SMSG_LEVELUP_INFO_ALT — appears to be a project-invented name with no upstream wire value. Left alone.