REDIVIVUS

Proposals / #903

Mac ROSTER_TogglePlayerFlag: __fastcc void (D2RosterStrc * pRoster, int16_t nFlags)

applied · by KierTaylor · submitted 2026-11-02, applied 2026-11-02

Ghidra vmac 111 · 3c6740e

Mac body: ECX (EDI) is null-checked (assert line 0x463) and its +0x10 (roster GUID) is passed with the local player's GUID to the relation getter/setter; EDX is saved and zero-extended as a word to be the flag argument of those calls, the setter receiving !current; no stack arguments, plain RET. Windows twin ROSTER_TogglePlayerFlag 0x00479d30 is void (D2RosterStrc * pRoster, int16_t nFlags); same order on Mac.

Changes 1, applied together

  1. Set prototype mac 0x00075780

    signatureundefined ROSTER_TogglePlayerFlag(void)→void ROSTER_TogglePlayerFlag(D2RosterStrc * pRoster, int16_t nFlags)
    conventionunknown→__fastcc