REDIVIVUS

Proposals / #1140

Mac AI_Monster_InitializeHomePosition: bool __cdecl (pGame, pUnit) prototype

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

Mac 0x002a476f is "undefined (void)", convention unknown. Body reads only [EBP+8] (pGame, 0x002a477f) and [EBP+0xc] (pUnit, 0x002a4778; then [EDI] unit type, [EDI+0x2c]); no ECX/EDX read before being written; plain RET at 0x002a4828. The caller AI_Monster_CheckReturnToHome stores only [ESP]=EBX and [ESP+4]=EDI before CALL at 0x002a48ce and then does MOVZX EAX,AL, so it takes 2 args and returns bool. Windows twin 0x005e6800 also returns bool and declares a third pAiParam; the Mac binary shows none.

Changes 1, applied together

  1. Set prototype mac 0x002a476f

    signatureundefined AI_Monster_InitializeHomePosition(void)→bool AI_Monster_InitializeHomePosition(D2GameStrc * pGame, D2UnitStrc * pUnit)
    conventionunknown→__cdecl