QUESTLOG_HitTestCloseButton returns bool, not int32_t
Ghidra v1851 · 1966101
Both exits set AL only: 004a2625 MOV AL,1 / 004a2627 RET and 004a2628 XOR AL,AL / 004a262a RET (the upper bytes of EAX keep nPanelX - 0xe6 from 004a2610 ADD EAX,0xffffff1a). The one caller tests the byte: 004a3f98 CALL 0x004a2610 / 004a3f9d TEST AL,AL / 004a3f9f JE. The int32 return is Ghidra's CONCAT31 of the stale upper bytes (the undefined3 dwHitResult register local). Return type only; parameter names and storage (ECX/EAX) unchanged. Resubmission of #1016, which went stale when the parameters were renamed. Recompiled with VC8, 004a2610 then matches byte for byte.
Changes 1, applied together
Set prototype
win 0x004a2610signatureint32_t QUESTLOG_HitTestCloseButton(int32_t nPanelY, int32_t nPanelX)→bool QUESTLOG_HitTestCloseButton(int32_t nPanelY, int32_t nPanelX)convention__cdecl