REDIVIVUS

Proposals / #1071

Recover the complete normalized Mac monster predicate result

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

Mac0017c356 still records undefined4, but its sole normal return is the full-EAX zero/one result of two SETE bits combined by AND and MOVZX. Both actual callers test full EAX as a logical gate. Recover existing BOOL4 while preserving selected names, current Unit*/int32 inputs, two genuine Stack4/8 DWORDs, cdecl, locals and noVarArgs. This is a fresh untyped result claim, not an int/BOOL alias preference or a subset of held work. Complete native target/callers3404B/888instructions and the physical13-row caller switch52B support the bounded contract. Inputoriginaltypedef/difficulty semantics are not recovered; sentinel equality can return true with invalid Unit/low table count, so no guard/world/table-loading behavior is repaired or guaranteed. No opaque effects, original Mac image/hash/execution, backend or generated-build gain claim. Any contradiction/refusal holds this whole claim without an alternate argument/width/alias/name/model route.

Changes 1, applied together

  1. Set prototype mac 0x0017c356

    signatureundefined4 MONSTER_IsAndarielNormal(D2UnitStrc * pUnit, int32_t nParam)→BOOL MONSTER_IsAndarielNormal(D2UnitStrc * pUnit, int32_t nParam)
    convention__cdecl