REDIVIVUS

Proposals / #822

Type Mac same-party roster predicate return

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

Ghidra vmac 110 · 9528519

Mac ROSTER_CheckPlayersInSameParty has undefined4 return metadata. Complete60-byte native body explicitly returns full EAX1 only if both roster lookups succeed, their16-bit party fields match and are not0xffff; every other path writes full EAX0. Both known callers test full EAX. Use existing four-byte BOOL while preserving both selected int32 GUID names, Stack4/8 formals and cdecl. Complete target/two callers/roster lookup/owner producer raw memory(570bytes) independently matches current assembly. All return/caller scalar routes and native ESI preservation across second lookup checked. No field signedness or shared layout change. Public14 is only a Win field correction/counterpart reference; own803 only mentions76122 as an end-exclusive range boundary, with actual target760de. No existing/pending Mac76122 edit. No producer/caller names, input types, ABI/arity, implicit-return assumptions or runtime/build claim.

Changes 1, applied together

  1. Set prototype mac 0x00076122

    signatureundefined4 ROSTER_CheckPlayersInSameParty(int32_t nRoster1GUID, int32_t nRoster2GUID)→BOOL ROSTER_CheckPlayersInSameParty(int32_t nRoster1GUID, int32_t nRoster2GUID)
    convention__cdecl