REDIVIVUS

Proposals / #1656

Type Mac MESSAGE_RegisterEventHandlerBatch as void __cdecl (void*, D2UIFlagInitStrc*, int)

checked · by KierTaylor · submitted 2026-11-08

Mac body reads three stack args: [EBP+8] window (asserted non-NULL, line 0x153), [EBP+0xc] array of 12-byte {type, message, handler} entries, [EBP+0x10] count; it calls MESSAGE_RegisterEventHandler(hWnd, e[0], e[1], e[2]) per entry. Plain RET, EAX leftover. Windows twin 0x00451db0 is void (HWND hWnd, D2UIFlagInitStrc* pEventHandlers, int32_t nCount); HWND is void* on Mac.

Changes 1, applied together

  1. Set prototype mac 0x0005e598

    signatureundefined MESSAGE_RegisterEventHandlerBatch(void)→void MESSAGE_RegisterEventHandlerBatch(void* hWnd, D2UIFlagInitStrc* pEventHandlers, int nCount)
    conventionunknown→__cdecl