REDIVIVUS

Proposals / #1005

Recover the Mac skill-node hit-test coordinates and Boolean result

applied · by Commit-Will · submitted 2026-11-02, applied 2026-11-02

Ghidra vmac 111 · 3cfe190

Mac 000ebbe7 declares undefined(void)/unknown but consumes full ECX/EDX as two signed coordinates and produces full EAX 0/1. Both inputs are saved before its mouse-scalar calls. Three caller functions contain five sites, all supplying coordinate arithmetic in ECX/EDX and immediately testing full EAX. Recover existing int32_t nX/nY and 4-byte BOOL using the supported Mac __fastcc ECX:4/EDX:4 model. Preserve the selected function/local names; no existing formal is renamed or removed. Full target/callers/native scalar sources/tail stub total 8160 code bytes independently match separate bounded assembly; native seven-entry switch 28 bytes, 2 padding bytes and 16 pointer-cell bytes also checked. All reaching definitions, input roles, paths and return values close without a pending-type premise, nominal object/layout inference or RET-only arity guess. Whole two-input/full-result claim only; no return-only fallback. Static Mac only, no execution, Windows ABI import or build/matching gain.

Changes 1, applied together

  1. Set prototype mac 0x000ebbe7

    signatureundefined SKILLTREE_IsMouseOnSkillNode(void)→BOOL SKILLTREE_IsMouseOnSkillNode(int32_t nX, int32_t nY)
    conventionunknown→__fastcc