REDIVIVUS

Proposals / #1438

Mac SERVER_PlayerUpdateExperience: void __fastcc (pGame ECX, pUnit EDX, nPrevLevel, nXpGain)

checked · by KierTaylor · submitted 2026-11-08

Resubmit of #1265 with the Mac register convention __fastcc, as the reviewer asked; parameters are unchanged. ECX = pGame, EDX = pUnit, [EBP+8] = nPrevLevel (CMP at 0x002812c9), [EBP+0xc] = nXpGain. Plain RET. Caller SERVER_KillExperience 0x00280c8c ignores EAX. Windows twin 0x0057e510.

Changes 1, applied together

  1. Set prototype mac 0x00281222

    signatureundefined SERVER_PlayerUpdateExperience(void)→void SERVER_PlayerUpdateExperience(D2GameStrc* pGame, D2UnitStrc* pUnit, int32_t nPrevLevel, int32_t nXpGain)
    conventionunknown→__fastcc