REDIVIVUS

Proposals / #1141

Mac AI_Monster_ExecuteMapAiBehavior: bool __cdecl (pGame, pUnit, pAiParam) prototype

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

Mac 0x002a52f8 is "undefined (void)", convention unknown. Body reads [EBP+8] (pGame, 0x002a53b7), [EBP+0xc] (pUnit, 0x002a531e) and [EBP+0x10] (pAiParam, 0x002a5307); plain RET at 0x002a53d2. Caller AI_Fn1_Npc stores [ESP]=EDI, [ESP+4]=EBX, [ESP+8]=ESI before CALL at 0x002a5513 and then TEST AL,AL, so it takes 3 cdecl args and returns bool, matching Windows twin 0x005e7080 bool (pGame, pUnit, D2AiParamStrc* pAiParam).

Changes 1, applied together

  1. Set prototype mac 0x002a52f8

    signatureundefined AI_Monster_ExecuteMapAiBehavior(void)→bool AI_Monster_ExecuteMapAiBehavior(D2GameStrc * pGame, D2UnitStrc * pUnit, D2AiParamStrc * pAiParam)
    conventionunknown→__cdecl