REDIVIVUS

Proposals / #784

Recover six Mac roster predicate prototypes

applied · by Commit-Will · submitted 2026-11-01, applied 2026-11-02

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

  1. Set prototype mac 0x000756c2

    signatureundefined ROSTER_CheckHostileFlag(int pRoster)→BOOL ROSTER_CheckHostileFlag(D2RosterStrc * pRoster)
    convention__cdecl
  2. Set prototype mac 0x000761bc

    signatureundefined ROSTER_CheckPlayerHostileToMe(int pRoster)→BOOL ROSTER_CheckPlayerHostileToMe(D2RosterStrc * pRoster)
    convention__cdecl
  3. Set prototype mac 0x000761fe

    signatureundefined ROSTER_CheckMeHostileToPlayer(int pRoster)→BOOL ROSTER_CheckMeHostileToPlayer(D2RosterStrc * pRoster)
    convention__cdecl
  4. Set prototype mac 0x00076240

    signatureundefined ROSTER_CheckPlayerAllowsMyLoot(int pRoster)→BOOL ROSTER_CheckPlayerAllowsMyLoot(D2RosterStrc * pRoster)
    convention__cdecl
  5. Set prototype mac 0x00076284

    signatureundefined ROSTER_CheckMeAllowsPlayerLoot(int pRoster)→BOOL ROSTER_CheckMeAllowsPlayerLoot(D2RosterStrc * pRoster)
    convention__cdecl
  6. Set prototype mac 0x000762c8

    signatureundefined ROSTER_IsMaleClass(int pRoster)→BOOL ROSTER_IsMaleClass(D2RosterStrc * pRoster)
    convention__cdecl