REDIVIVUS

Proposals / #1207

Mac RewardExperienceFromAncients: uint32_t __fastcc (D2GameStrc* pGame ECX, D2UnitStrc* pUnit EDX)

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

Mac 0x00240e51 is "undefined (void)", convention unknown. Entry: ESI=ECX, EBX=EDX, and (ESI, EBX) are passed as [ESP]/[ESP+4] to QUEST_SendQuestInfoToUnit (0x0021439b, void (D2GameStrc* pGame, D2UnitStrc* pUnit)) at 0x00240e68; ESI's byte +0x6d (game difficulty) then selects the experience amount (0x2625a00 vs 0x155cc0). No [EBP+n] reads; plain RET 0x00240ff0. Same two values as Windows twin 0x0058c5c0 uint RewardExperienceFromAncients(pGame, D2UnitStrc* pUnit); return kept as on Windows.

Changes 1, applied together

  1. Set prototype mac 0x00240e51

    signatureundefined RewardExperienceFromAncients(void)→uint32_t RewardExperienceFromAncients(D2GameStrc * pGame, D2UnitStrc * pUnit)
    conventionunknown→__fastcc