REDIVIVUS

Proposals / #1154

Mac RiskAssignmentBaal: int32_t __fastcc (D2UnitStrc* pUnit, D2UnitStrc* pTarget) prototype

approved · by KierTaylor · submitted 2026-11-05, approved 2026-11-05

Mac 0x001a125d is "undefined (void)", convention unknown. Entry: ESI=EDX, ECX saved to [EBP-0x1c]; both passed as (ECX, ESI, 0) to 0x0019242c, then ESI as a unit to stat getter 0x001949e8(ESI, 0x24, 0). No positive [EBP+n] reads anywhere in the body; the result is a sum of local scores in EAX (0x001a1555-0x001a156c); plain RET 0x001a15d9. Sole caller SelectTargetBaal loads ECX and EDX only before CALL at 0x0019fd64. Windows twin 0x005fbb00 is int32_t RiskAssignmentBaal(D2UnitStrc* pUnit, D2UnitStrc* pTarget, void* pAnchorData); Mac passes only the first two.

Changes 1, applied together

  1. Set prototype mac 0x001a125d

    signatureundefined RiskAssignmentBaal(void)→int32_t RiskAssignmentBaal(D2UnitStrc * pUnit, D2UnitStrc * pTarget)
    conventionunknown→__fastcc