Mac AI_QuestNpc_InitializeQuestPhase: uint32_t __cdecl (pGame, pUnit) prototype
Mac 0x002a5bfb is "undefined (void)", convention unknown. The only stack args read are [EBP+8] (pGame; 0x002a5c14, 0x002a5ca3, 0x002a5cb7, 0x002a5d9b) and [EBP+0xc] (pUnit; 0x002a5c0d); no ECX/EDX on entry; plain RET at 0x002a5de1. Caller AITHINK_Fn1_NpcOutOfTown stores [ESP+4]=EBX (the unit, checked [EBX+4]==0x20f just before), [ESP]=EDI then CALL at 0x002a5e14 and TEST EAX,EAX: 2-arg cdecl returning a full dword. Windows twin 0x005e77a0 returns uint32_t and declares a third pAiParam that the Mac body never reads.
Changes 1, applied together
Set prototype
mac 0x002a5bfbsignatureundefined AI_QuestNpc_InitializeQuestPhase(void)→uint32_t AI_QuestNpc_InitializeQuestPhase(D2GameStrc * pGame, D2UnitStrc * pUnit)conventionunknown→__cdecl