REDIVIVUS

Proposals / #1080

Recover the complete Mac compositing predicate result

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

Mac00139b7c has undefined result, but all normal paths return full EAX0/1. After passing a private word's address to an opaque helper, native comparisons of the subsequently read word to literals1/7 choose MOV EAX,1 or XOR EAX,EAX before the soleRET. This Boolean algebra holds for every output word, without helper-effect or enum/name assumptions. Complete Common caller00188f1e consumes fullEAX with CMP1 and TEST. Restore existing BOOL4; preserve chosen function/formal/local names, the genuine single Stack4 Unit* DWORD, cdecl and noVarArgs. Complete target/caller185B/64instructions, typed caller source/native copy, Unit.inventory+0x60 and existing helper API corroborate the retained input. Other callers are inventory only. No literal gameplay meaning, opaque effect/input safety, unique original typedef, original Mac image/execution or build/runtime gain claim. Any contradiction/refusal holds the whole target without another result/input/name/helper/ABI fallback.

Changes 1, applied together

  1. Set prototype mac 0x00139b7c

    signatureundefined COMPOSIT_IsBowOrCrossbowWeaponClass(D2UnitStrc * pUnit)→BOOL COMPOSIT_IsBowOrCrossbowWeaponClass(D2UnitStrc * pUnit)
    convention__cdecl