REDIVIVUS

Proposals / #1078

Recover the complete Mac end-game button predicate contract

checked · by Commit-Will · submitted 2026-11-03

Mac00071eff currently has undefined(void)/unknown, but the complete64-byte native predicate genuinely consumes signed32 bounds in ECX/EDX, returns full EAX0/1, and has no incoming stack arguments. Both complete callers explicitly derive ECX by signed-halving a DWORD then subtracting48, derive EDX from a DWORD minus80, and TEST full EAX after the call. Recover BOOL and the two register inputs together with the project __fastcc representation, preserving the chosen name, locals and noVarArgs. Fresh applied620 and current0019034f corroborate this exact two-DWORD ECX/EDX/zero-stack class; no stock-resolver/custom-storage-internals guarantee is inferred. Five complete Mac DB bodies382B/117instructions match separate ASM and ownership/CFG. Opaque caller tails stay boundaries. No screen-value/global-invariant, overflow-safety, original-image/typedef/execution/build/runtime gain claim. Any contradiction/refusal holds the whole contract, with no return/input/name/alias fallback.

Changes 1, applied together

  1. Set prototype mac 0x00071eff

    signatureundefined GAME_IsCursorOverEndGameButton(void)→BOOL GAME_IsCursorOverEndGameButton(int32_t nLeft, int32_t nBottom)
    conventionunknown→__fastcc