Recover the Mac near-room count and completeness contracts
Restore both complete related Mac contracts:0015001a loads the full RoomEx count DWORD for actual array-size arithmetic/count comparison;00165cf8 returns fullEAX0/1 and both server calls test it. Recover existing int4/BOOL4 results and existing RoomEx*/Room* inputs, preserving chosen names, one Stack4 DWORD each, cdecl, locals and noVarArgs. All4recorded target calls are covered by native typed Game→Client→Room and Room.RoomEx+16 routes plus Room-factory field construction. Four complete bodies2407B/623instructions and a separately read16B guarded PIC table close the selected paths. Existing API/layout/native roles corroborate inputs; no unchanged-value/opaque-writer invariant or allocation-token guarantee is asserted. No exact flag meaning, unique original typedef/MachO identity/execution, or runtime/build/matching gain. Any contradiction/refusal holds the complete family, without a narrower input/result/alias/name/helper/ABI fallback.
Changes 2, applied together
Set prototype
mac 0x0015001asignatureundefined GetRoomsNearCount(int pRoomEx)→int GetRoomsNearCount(D2RoomExStrc * pRoomEx)convention__cdeclSet prototype
mac 0x00165cf8signatureundefined DRLGROOM_AreAllNearRoomsActive(int * pRoom)→BOOL DRLGROOM_AreAllNearRoomsActive(D2RoomStrc * pRoom)convention__cdecl