Recover six Mac roster predicate prototypes
Ghidra vmac 109 · 39698f0
Six Mac roster predicates have int pRoster inputs and undefined returns. Their existing single Stack4 formal is D2RosterStrc*: all10 native caller routes resolve to typed roster traversal ornull, and bodies read GUID+0x10 or class+0x1c. Every complete target path explicitly returns full EAX0/1; all10 callers consume full EAX, supporting existing four-byte BOOL. Five wrappers normalize GetFlag with hostile mask8 or loot mask1, retaining both GUID directions; CheckHostileFlag alone allows missing-local GUID-1. IsMaleClass retains its null/unsigned-class>6=>1 fallback and mask0x43 behavior. Fresh raw Mac memory independently matches separate assembly for16 complete regions/8832 bytes; all19 PIC table targets and helper storage paths checked. Preserve every selected name, existing one formal and cdecl; no shared/helper/extent changes. Static Mac database evidence, with no Windows ABI, local Mac hash, runtime or build claim.
Changes 6, applied together
Set prototype
mac 0x000756c2signatureundefined ROSTER_CheckHostileFlag(int pRoster)→BOOL ROSTER_CheckHostileFlag(D2RosterStrc * pRoster)convention__cdeclSet prototype
mac 0x000761bcsignatureundefined ROSTER_CheckPlayerHostileToMe(int pRoster)→BOOL ROSTER_CheckPlayerHostileToMe(D2RosterStrc * pRoster)convention__cdeclSet prototype
mac 0x000761fesignatureundefined ROSTER_CheckMeHostileToPlayer(int pRoster)→BOOL ROSTER_CheckMeHostileToPlayer(D2RosterStrc * pRoster)convention__cdeclSet prototype
mac 0x00076240signatureundefined ROSTER_CheckPlayerAllowsMyLoot(int pRoster)→BOOL ROSTER_CheckPlayerAllowsMyLoot(D2RosterStrc * pRoster)convention__cdeclSet prototype
mac 0x00076284signatureundefined ROSTER_CheckMeAllowsPlayerLoot(int pRoster)→BOOL ROSTER_CheckMeAllowsPlayerLoot(D2RosterStrc * pRoster)convention__cdeclSet prototype
mac 0x000762c8signatureundefined ROSTER_IsMaleClass(int pRoster)→BOOL ROSTER_IsMaleClass(D2RosterStrc * pRoster)convention__cdecl