REDIVIVUS

Proposals / #924

Mac DIALOG_HandleMouseDownEvent: __fastcc int (D2DialogStrc * pDialog, D2UIMouseMsgStrc * pMsg)

applied · by KierTaylor · submitted 2026-11-02, applied 2026-11-02

Ghidra vmac 111 · 3c6740e

Mac body: ECX (ESI) is null-checked (assert line 0xe1) and used as the dialog (+0x44/+0x48 selected line); it calls DIALOG_HandleMouseUpEvent with ECX = dialog and EDX left untouched, so EDX is the mouse message forwarded through; returns 1 when the selection changed (and plays the click sound) else 0; no stack arguments, plain RET. INPUT_DialogClickHandler tail-jumps here with ECX = dialog, EDX = message (0x000a4a06/0x000a4a08). Windows twin DIALOG_HandleMouseDownEvent 0x004b7200 is int (D2DialogStrc * pDialog, D2UIMouseMsgStrc * pMsg).

Changes 1, applied together

  1. Set prototype mac 0x000a4a16

    signatureundefined DIALOG_HandleMouseDownEvent(void)→int DIALOG_HandleMouseDownEvent(D2DialogStrc * pDialog, D2UIMouseMsgStrc * pMsg)
    convention__fastcc