REDIVIVUS

Proposals / #1201

Mac Q21_PartySetGoldenBirdState: void __fastcc (pGame ECX, pUnit EDX) prototype

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

Mac 0x00234a13 is "undefined (void)", convention unknown. Entry: ESI=ECX, EDX stored as [ESP] for 0x0027b111 (unit -> party id, compared with -1); then PARTY_ForEachPartyMember (0x00276faf, (D2GameStrc* pGame, short nPartyId, callback, arg)) is called with [ESP]=ESI (so ECX is the game), [ESP+4]=party id, [ESP+8]=callback, [ESP+0xc]=0. No [EBP+n] reads; plain RET 0x00234a58; EAX is not set on the early exit, so void. Windows twin 0x005ba2f0 also takes the same two values (this, pGame).

Changes 1, applied together

  1. Set prototype mac 0x00234a13

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