REDIVIVUS

Proposals / #1357

Type the 0x98 monster-update consumer's input as its existing packet structure

checked · by eejitgames · submitted 2026-11-06

NPCMENU_HandleQuestUpdate (004b1240) treats its ECX int32_t input as the packet passed by its sole caller, NET_D2GS_CLIENT_Incoming0x98_SETSPAWNERMONSTER. That caller copies seven bytes unchanged into a stack buffer and passes its address. The consumer loads the unit GUID at +1 and unsigned value at +5, exactly matching the existing packed seven-byte D2GSPacketSrv0x98. The server sender builds that same structure, writes packet id 0x98, GUID at +1 and WORD at +5, and queues seven bytes. Retype only the consumer input to D2GSPacketSrv0x98 *, preserving names and ABI. Full sender, receiver and consumer inspected; no matching issue or accessible proposal found. Static type correction.

Changes 1, applied together

  1. Retype variable win 0x004b1240 ECX

    typeint32_t→D2GSPacketSrv0x98 *