REDIVIVUS

Proposals / #691

Mac: companions to Windows #572, #577 and #578 (window-message handler parameters)

applied · by Captain-Fwiffo · submitted 2026-11-01, applied 2026-11-01

Ghidra vmac 106 · d52cd0a

Mac twins of the Windows message handlers, with the same body semantics on the Mac D2UIMouseMsgStrc (same 32-byte layout): UI_HandleCursorMouseDown reads +8 (nWParam) and clears +0x18/+0x1c; UI_HandleCursorMouseMove reads the cursor x/y halves of +0xc (uLParam) and clears +0x18; HandleMouseButtonEvent reads +8 and clears +0x18; CHARSEL_HandleKeyNavClassic reads +4 (uMsg == 0x102 WM_CHAR) and +8 (nWParam). Same-width retypes; names kept. The Mac pair for CHARSEL_HandleKeyNavExpansion is a different function (CHARSEL_HandleGridKeyNav) and is not included. Mac registration tables were not checked.

Changes 4, applied together

  1. Retype variable mac 0x00063c13 Stack[0x4]

    typeint32_t→D2UIMouseMsgStrc *
  2. Retype variable mac 0x000631bb Stack[0x4]

    typeundefined1 *32→D2UIMouseMsgStrc *
  3. Retype variable mac 0x00071e7e Stack[0x4]

    typeint32_t→D2UIMouseMsgStrc *
  4. Retype variable mac 0x002c06a4 Stack[0x4]

    typeint32_t→D2UIMouseMsgStrc *