mirror of
https://github.com/boykopovar/AnyPS5.git
synced 2026-10-29 12:15:39 +00:00
sceNpMatching2SignalingGetConnectionStatus reports every member inactive for a known context, since no room is joined offline, and leaves the peer address and port untouched; a null status pointer throws. sceNpMatching2AbortContextStart returns NOT_INITIALIZED before initialization and 0 afterwards. Checks follow shadPS4, with RPCS3's differences recorded in the technical debt entry.
5.6 KiB
5.6 KiB
libSceNpMatching2 technical debt
Unknown function info
- sceNpMatching2CreateContextA, sceNpMatching2CreateContextInternal, sceNpMatching2CreateJoinRoomA, sceNpMatching2GetLobbyInfoList, sceNpMatching2GetLobbyMemberDataInternal, sceNpMatching2GetLobbyMemberDataInternalList, sceNpMatching2GetMemoryInfo, sceNpMatching2GetRoomJoinedSlotMaskLocal, sceNpMatching2GetRoomMemberDataExternalList, sceNpMatching2GetRoomMemberIdListLocal, sceNpMatching2GetRoomPasswordLocal, sceNpMatching2GetSignalingOptParamLocal (libSceNpMatching2) - names and NIDs are present in the PS5 3.20 export inventory, but no credible prototypes were found. The declarations have no parameters solely to resolve known imports; this is not an ABI claim and callers must not call them until signatures are verified
- sceNpMatching2GetSslMemoryInfo, sceNpMatching2GetUserInfoListA, sceNpMatching2GetWorldIdArrayForAllServers, sceNpMatching2GrantRoomOwner, sceNpMatching2JoinLobby, sceNpMatching2JoinRoomA, sceNpMatching2LeaveLobby, sceNpMatching2RegisterLobbyEventCallback, sceNpMatching2RegisterLobbyMessageCallback, sceNpMatching2RegisterManualUdpSignalingCallback, sceNpMatching2SendLobbyChatMessage, sceNpMatching2SetExtraInitParam, sceNpMatching2SetLobbyMemberDataInternal, sceNpMatching2SetRoomDataInternalExt (libSceNpMatching2) - names and NIDs are present in the PS5 3.20 export inventory, but no credible prototypes were found. The declarations have no parameters solely to resolve known imports; this is not an ABI claim and callers must not call them until signatures are verified
- sceNpMatching2SetSignalingOptParam, sceNpMatching2SignalingAbortConnection, sceNpMatching2SignalingCancelPeerNetInfo, sceNpMatching2SignalingEnableManualUdpMode, sceNpMatching2SignalingEstablishConnection, sceNpMatching2SignalingGetConnectionInfoA, sceNpMatching2SignalingGetLocalNetInfo, sceNpMatching2SignalingGetPeerNetInfo, sceNpMatching2SignalingGetPeerNetInfoResult, sceNpMatching2SignalingGetPingInfo, sceNpMatching2SignalingGetPort (libSceNpMatching2) - names and NIDs are present in the PS5 3.20 export inventory, but no credible prototypes were found. The declarations have no parameters solely to resolve known imports; this is not an ABI claim and callers must not call them until signatures are verified
- sceNpMatching2SignalingSetPort (libSceNpMatching2) - names and NIDs are present in the PS5 3.20 export inventory, but no credible prototypes were found. The declarations have no parameters solely to resolve known imports; this is not an ABI claim and callers must not call them until signatures are verified
Functional
- sceNpMatching2Initialize, sceNpMatching2Terminate (libSceNpMatching2) - only the library state is kept: initialization checks the parameter's
sizefield (0x28, or 0x30 with an SSL pool) as shadPS4 does and starts no thread; a second initialization returnsALREADY_INITIALIZEDand a termination without oneNOT_INITIALIZED. The pool, thread and SSL settings are not used: no matching server is reached. Not measured on a console - sceNpMatching2CreateContext and the context calls (libSceNpMatching2) - offline only, not measured on a PS5: the checks follow shadPS4 and its context manager (a
0x28-byte parameter, ten ids handed out round-robin).sceNpMatching2ContextStartreturns0x804101E2(SCE_NET_ERROR_RESOLVER_ETIMEDOUT), which shadPS4 says was confirmed on a console disconnected from the internet, so no context starts andsceNpMatching2ContextStopanswersCONTEXT_NOT_STARTED. Callbacks and the default request option are checked but never used. The room, user, world, server-id and signaling-info calls still throw - sceNpMatching2SignalingGetConnectionStatus, sceNpMatching2AbortContextStart (libSceNpMatching2) - not measured on a console. With no room joined offline, the status call writes 0 (inactive) and returns 0 for a known context, as shadPS4 does; the PS3 module in RPCS3 also writes inactive but returns
INVALID_ROOM_ID. A null status pointer throws (shadPS4 skips the write, RPCS3 returnsINVALID_ARGUMENT); peer address and port are never written. The abort returnsNOT_INITIALIZEDbefore initialization, as RPCS3 does, and 0 for any context id, as both do