mirror of
https://github.com/boykopovar/AnyPS5.git
synced 2026-10-28 00:35:47 +00:00
3.0 KiB
3.0 KiB
libSceNpParty technical debt
Unknown function info
- sceNpPartyGetState and sceNpPartyGetStateAsUserA (libSceNpParty) - the 16-bit state, its
NOT_IN_PARTYvalue 2 and theINVALID_ARGUMENT(0x80552504) error follow shadPS4's np_party.h and np_error.h (PS4); shadPS4 does not check for a null state, and whether the console needs an initialized party library first is not known. Not measured on a PS5 - sceNpPartyGetId, sceNpPartyGetMembersA, sceNpPartyGetMemberInfoA, sceNpPartyGetMemberSessionInfo, sceNpPartyGetMemberVoiceInfo and sceNpPartySendBinaryMessage (libSceNpParty) - the user is never in a party, so these return
NOT_IN_PARTY(0x80552506, shadPS4's np_error.h) and write nothing, orINVALID_ARGUMENTfor a null pointer; the signatures are from Orbital's type database. LikesceNpPartyGetStatethey do not requiresceNpPartyInitialize, and the order of the null and party checks on the console is not known. Not measured on a PS5 - sceNpPartyInitialize, sceNpPartyTerminate, sceNpPartyCheckCallback and sceNpPartyRegisterHandlerA (libSceNpParty) - an initialized flag with
ALREADY_INITIALIZED(0x80552502) andNOT_INITIALIZED(0x80552503) from shadPS4's np_error.h; the handlers are accepted but never called, since no party event can happen. Whether the console refuses a null initialize parameter, and which check comes first, is not known - sceNpPartyCreate, sceNpPartyCreateA, sceNpPartyGetStateAsUser, sceNpPartyGetVoiceChatPriority, sceNpPartyJoin, sceNpPartyLeave, sceNpPartyRegisterPrivateHandler, sceNpPartySetVoiceChatPriority, sceNpPartyShowInvitationList, sceNpPartyShowInvitationListA and sceNpPartyUnregisterPrivateHandler (libSceNpParty) - Orbital has no prototypes for these and no credible ones 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
- sceNpPartyGetMembers, sceNpPartyGetMemberInfo and sceNpPartyRegisterHandler (libSceNpParty) - the signatures are from fpPS4 (PS4) and match their
Avariants, so they behave like them: no party,NOT_IN_PARTYfrom shadPS4, and handlers accepted but never called. How the console's non-Amember structures differ from theAones is not known, and nothing is written to them. Not measured on a PS5