Mac DIALOG_HandleMouseDownEvent: __fastcc int (D2DialogStrc * pDialog, D2UIMouseMsgStrc * pMsg)
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
Set prototype
mac 0x000a4a16signatureundefined DIALOG_HandleMouseDownEvent(void)→int DIALOG_HandleMouseDownEvent(D2DialogStrc * pDialog, D2UIMouseMsgStrc * pMsg)convention__fastcc