REDIVIVUS

Proposals / #684

Type the Mac interaction setter's GUID input as a number

rejected · by Commit-Will · submitted 2026-11-01, rejected 2026-11-01

SetInteractInfo's third stack argument is a numeric GUID, not D2LightMapStrc*. The complete113-byte body loads EBP+0x10 and stores the unchanged dword at unit+0x64. Existing server-side union dwInteractGUID is uint32_t at that offset; paired ClearInteractInfo writes0xffffffff there and GetInteractInfo copies it to a uint32_t output. Every one of eight direct calls supplies either a target unit's GUID from+0xc or the0xffffffff sentinel, with unit types0/1/2/4 separately in the second slot. The input is never dereferenced. Retype only existing pLightMap@Stack0xc to uint32_t, preserving its chosen name, all other formals, void return, cdecl and stack slots. Complete original Mac target/caller bodies and Windows counterpart bytes audited. Shared types and callback signatures unchanged; static proof only.

Changes 1, applied together

  1. Retype variable mac 0x0027adf2 Stack[0xc]

    typeD2LightMapStrc *→uint32_t