REDIVIVUS

Proposals / #1226

Mac SKILLBAR_ArriveAtChargeTarget: BOOL __fastcc (pGame ECX, pUnit EDX, pSkill stack)

checked · by KierTaylor · submitted 2026-11-05

Mac 0x00251f24 is "undefined (void)", convention unknown. Entry: ESI=EDX (unit: [ESI+0x2c] path, NULL exits), ECX saved to [EBP-0x24] (game, reused as an arg at 0x00252100/0x00252209/0x0025228d), [EBP+8] the only stack argument (skill, NULL-checked at 0x002520c8). Plain RET 0x00252352. Caller Skills_SrvDoFunc_077_Leap stores [ESP]=EBX (the skill, which it passes as EDX to SKILL_InitTransportPath elsewhere), ECX=ESI, EDX=EDI (the unit), then TEST EAX,EAX (0x00251e4f-0x00251e5b). Same three values as Windows twin 0x005da120 BOOL (pGame, D2SkillStrc* pSkill, D2UnitStrc* pUnit), in Mac register order.

Changes 1, applied together

  1. Set prototype mac 0x00251f24

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