mirror of
https://github.com/boykopovar/AnyPS5.git
synced 2026-10-29 12:15:39 +00:00
8.0 KiB
8.0 KiB
libSceNpTrophy technical debt
Unknown function info
- sceNpTrophyRegisterContext, sceNpTrophyGetTrophyUnlockState, sceNpTrophyUnlockTrophy (libSceNpTrophy, PS4) - the trophy definitions in
TROPCONF.ESFMare encrypted, so the trophy count is the number of consecutiveTROPnnn.PNGicons in the title's/app0/sce_sys/trophy/trophyNN.trp. Unlocks are kept per user and service label in_trophy/trophyNN.<user id>under the working directory, no platinum trophy is reported (platinumIdis -1), and a locked trophy's icon fails withTROPHY_NOT_UNLOCKED. None of it is checked on a console. - sceNpTrophyAbortHandle (libSceNpTrophy, PS4) - measured on a PS4 Pro (firmware 10.71): after an abort,
sceNpTrophyGetTrophyUnlockStateandsceNpTrophyGetGameIconthrough that handle answer 0x80551607, before the not-registered check, andsceNpTrophyRegisterContextanswers 0x80551607 before the missing trophy package (0x80551626 for a live handle); aborting again answers 0. The other calls that take the handle are assumed to answer 0x80551607 the same way, aslibSceNpTrophy.sprxof firmware 10.71 maps the service's abort answer to it on the shared request path. On the consolesceNpTrophyRegisterContextchecks the process's NP title id before it reaches the service, so a title without one gets the NP title id error instead; AnyPS5 has no NP title id and does not model that step - sceNpTrophyCaptureScreenshot, sceNpTrophyConfigGetTrophyDetails, sceNpTrophyConfigGetTrophyFlagArray, sceNpTrophyConfigGetTrophyGroupArray, sceNpTrophyConfigGetTrophyGroupDetails, sceNpTrophyConfigGetTrophySetInfo, sceNpTrophyConfigGetTrophySetInfoInGroup, sceNpTrophyConfigGetTrophySetVersion, sceNpTrophyConfigGetTrophyTitleDetails, sceNpTrophyConfigHasGroupFeature, sceNpTrophyGroupArrayGetNum, sceNpTrophyIntAbortHandle, sceNpTrophyIntCheckNetSyncTitles, sceNpTrophyIntCreateHandle (libSceNpTrophy) - 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
- sceNpTrophyIntDestroyHandle, sceNpTrophyIntGetLocalTrophySummary, sceNpTrophyIntGetProgress, sceNpTrophyIntGetRunningTitle, sceNpTrophyIntGetRunningTitles, sceNpTrophyIntGetTrpIconByUri, sceNpTrophyIntNetSyncTitle, sceNpTrophyIntNetSyncTitles, sceNpTrophyNumInfoGetTotal, sceNpTrophySetInfoGetTrophyFlagArray, sceNpTrophySetInfoGetTrophyNum, sceNpTrophyShowTrophyList, sceNpTrophySystemAbortHandle, sceNpTrophySystemBuildGroupIconUri, sceNpTrophySystemBuildNetTrophyIconUri, sceNpTrophySystemBuildTitleIconUri (libSceNpTrophy) - 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
- sceNpTrophySystemBuildTrophyIconUri, sceNpTrophySystemCheckCallback, sceNpTrophySystemCheckNetSyncTitles, sceNpTrophySystemCheckRecoveryRequired, sceNpTrophySystemCloseStorage, sceNpTrophySystemCreateContext, sceNpTrophySystemCreateHandle, sceNpTrophySystemDbgCtl, sceNpTrophySystemDebugLockTrophy, sceNpTrophySystemDebugUnlockTrophy, sceNpTrophySystemDestroyContext, sceNpTrophySystemDestroyHandle, sceNpTrophySystemDestroyTrophyConfig, sceNpTrophySystemGetDbgParam, sceNpTrophySystemGetDbgParamInt (libSceNpTrophy) - 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
- sceNpTrophySystemGetGroupIcon, sceNpTrophySystemGetLocalTrophySummary, sceNpTrophySystemGetNextTitleFileEntryStatus, sceNpTrophySystemGetProgress, sceNpTrophySystemGetTitleFileStatus, sceNpTrophySystemGetTitleIcon, sceNpTrophySystemGetTitleSyncStatus, sceNpTrophySystemGetTrophyConfig, sceNpTrophySystemGetTrophyData, sceNpTrophySystemGetTrophyGroupData, sceNpTrophySystemGetTrophyIcon, sceNpTrophySystemGetTrophyTitleData, sceNpTrophySystemGetUserFileInfo, sceNpTrophySystemGetUserFileStatus (libSceNpTrophy) - 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
- sceNpTrophySystemIsServerAvailable, sceNpTrophySystemNetSyncTitle, sceNpTrophySystemNetSyncTitles, sceNpTrophySystemOpenStorage, sceNpTrophySystemPerformRecovery, sceNpTrophySystemRegisterTitleSyncedCallback, sceNpTrophySystemRegisterTitleUpdateCallback, sceNpTrophySystemRemoveAll, sceNpTrophySystemRemoveTitleData, sceNpTrophySystemRemoveUserData, sceNpTrophySystemSetDbgParam, sceNpTrophySystemSetDbgParamInt, sceNpTrophySystemUnregisterTitleSyncedCallback, sceNpTrophySystemUnregisterTitleUpdateCallback (libSceNpTrophy) - 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
- sceNpTrophySystemWrapDebugLockTrophy, sceNpTrophySystemWrapDebugUnlockTrophy, sceNpTrophySystemWrapGetGroupDetails, sceNpTrophySystemWrapGetPlayedTrophyTitles, sceNpTrophySystemWrapGetTitleDetails, sceNpTrophySystemWrapGetTrophyDetailsArray, sceNpTrophySystemWrapGetTrophyTitleIdsByNpTitleId, sceNpTrophySystemWrapRemoveAll, sceNpTrophySystemWrapRemoveTitleData, sceNpTrophySystemWrapRemoveUserData (libSceNpTrophy) - 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
- sceNpTrophyGetGameInfo (libSceNpTrophy) - the trophy configuration
TROPCONF.ESFMis encrypted and not read, so the game details report the trophy count taken from theTROPnnn.PNGicons and the group count taken from theGRnnn.PNGicons of the trophy package; the per-grade counts are 0, the title and description are empty, and the progress percentage is unlocked trophies over all trophies instead of the console's grade-weighted points - sceNpTrophyGetGroupInfo (libSceNpTrophy) - only the base game group (id -1) is answered, with the same counts as the game; an id past the
GRnnn.PNGicons returnsINVALID_GROUP_ID, and an existing group throws because the trophies of a group are listed only in the encrypted configuration - sceNpTrophyGetTrophyInfo (libSceNpTrophy) - the grade is reported as unknown, the trophy is never hidden, the name and description are empty and the unlock timestamp is 0; a package with groups throws, since a trophy's group is listed only in the encrypted configuration