REDIVIVUS

Proposals / #1190

Mac SKILLBAR_AcquireNextTarget: D2UnitStrc* __fastcc (pGame, pUnit, pSkill) prototype

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

Mac 0x00252af6 is "undefined (void)", convention unknown. Entry: EBX=EDX (unit), EDI=[EBP+8] (skill, NULL check returns 0), ECX saved to [EBP-0x10] and passed with EBX as (ECX, EBX) to the target getter 0x00279d5d (pGame, pUnit), whose result in ESI is the candidate target; EAX=0 on the early exit. Same three values as Windows twin 0x005da490 D2UnitStrc* (pGame, D2UnitStrc* pUnit, D2SkillStrc* pSkill). Mac clang fastcc: ECX, EDX, then stack, caller cleans.

Changes 1, applied together

  1. Set prototype mac 0x00252af6

    signatureundefined SKILLBAR_AcquireNextTarget(void)→D2UnitStrc * SKILLBAR_AcquireNextTarget(D2GameStrc * pGame, D2UnitStrc * pUnit, D2SkillStrc * pSkill)
    conventionunknown→__fastcc