mirror of
https://github.com/boykopovar/AnyPS5.git
synced 2026-11-07 13:39:55 +00:00
fix(libSceUserService): recover user state queries
This commit is contained in:
1 parent
94dbf7f881
commit
93f88669b4
3 files changed
+28
-25
No files matched your search
@@ -907,7 +907,6 @@ int APS5_VABI sceUserServiceGetVoiceAgentEnableFeedback(void) {
|
||||
}
|
||||
|
||||
int APS5_VABI sceUserServiceIsKratosUser(void) {
|
||||
NotImplemented_nid_no_patch(__func__);
|
||||
return 0;
|
||||
}
|
||||
|
||||
@@ -1064,9 +1063,8 @@ int APS5_VABI sceUserServiceSetIPDLeft(void) {
|
||||
return 0;
|
||||
}
|
||||
|
||||
int APS5_VABI sceUserServiceGetKratosPrimaryUser(void) {
|
||||
NotImplemented_nid_no_patch(__func__);
|
||||
return 0;
|
||||
int APS5_VABI sceUserServiceGetKratosPrimaryUser(int*) {
|
||||
return USER_SERVICE_ERROR_NOT_SUPPORTED;
|
||||
}
|
||||
|
||||
int APS5_VABI sceUserServiceLogout(void) {
|
||||
@@ -1390,7 +1388,6 @@ int APS5_VABI sceUserServiceSetHearingAssistSeparateLR(void) {
|
||||
}
|
||||
|
||||
int APS5_VABI sceUserServiceIsUserStorageAccountBound(void) {
|
||||
NotImplemented_nid_no_patch(__func__);
|
||||
return 0;
|
||||
}
|
||||
|
||||
@@ -1499,9 +1496,11 @@ int APS5_VABI sceUserServiceGetHmd2Vibration(void) {
|
||||
return 0;
|
||||
}
|
||||
|
||||
int APS5_VABI sceUserServiceIsLoggedIn(void) {
|
||||
NotImplemented_nid_no_patch(__func__);
|
||||
return 0;
|
||||
int APS5_VABI sceUserServiceIsLoggedIn(int userId) {
|
||||
if (!initialized.load()) {
|
||||
return USER_SERVICE_ERROR_NOT_INITIALIZED;
|
||||
}
|
||||
return IsUserLoggedIn(userId) ? 1 : 0;
|
||||
}
|
||||
|
||||
int APS5_VABI sceUserServiceGetPbtcMondayHoursStart(void) {
|
||||
@@ -1524,9 +1523,8 @@ int APS5_VABI sceUserServiceGetIsQuickSignup(void) {
|
||||
return 0;
|
||||
}
|
||||
|
||||
int APS5_VABI sceUserServiceIsKratosPrimaryUser(void) {
|
||||
NotImplemented_nid_no_patch(__func__);
|
||||
return 0;
|
||||
bool APS5_VABI sceUserServiceIsKratosPrimaryUser(int) {
|
||||
return false;
|
||||
}
|
||||
|
||||
int APS5_VABI sceUserServiceSetVoiceAgentEnableWup(void) {
|
||||
@@ -1549,9 +1547,11 @@ int APS5_VABI sceUserServiceSetGlsHintFlag(void) {
|
||||
return 0;
|
||||
}
|
||||
|
||||
int APS5_VABI sceUserServiceIsLoggedInWithoutLock(void) {
|
||||
NotImplemented_nid_no_patch(__func__);
|
||||
return 0;
|
||||
int APS5_VABI sceUserServiceIsLoggedInWithoutLock(int userId) {
|
||||
if (!initialized.load()) {
|
||||
return USER_SERVICE_ERROR_NOT_INITIALIZED;
|
||||
}
|
||||
return IsUserLoggedIn(userId) ? 1 : 0;
|
||||
}
|
||||
|
||||
int APS5_VABI sceUserServiceSetShareStatus3(void) {
|
||||
@@ -2086,7 +2086,7 @@ int APS5_VABI sceUserServiceSetShareStatus2(void) {
|
||||
return 0;
|
||||
}
|
||||
|
||||
int APS5_VABI sceUserServiceSetForegroundUser(void) {
|
||||
int APS5_VABI sceUserServiceSetForegroundUser(int userId) {
|
||||
NotImplemented_nid_no_patch(__func__);
|
||||
return 0;
|
||||
}
|
||||
@@ -2196,7 +2196,7 @@ int APS5_VABI sceUserServiceGetPbtcTuesdayDuration(void) {
|
||||
return 0;
|
||||
}
|
||||
|
||||
int APS5_VABI sceUserServiceGetUserWithHearingAssist(void) {
|
||||
int APS5_VABI sceUserServiceGetUserWithHearingAssist(std::int32_t* userId) {
|
||||
NotImplemented_nid_no_patch(__func__);
|
||||
return 0;
|
||||
}
|
||||
|
||||
@@ -182,7 +182,7 @@ int APS5_VABI sceUserServiceSetNotificationSettings_2(void);
|
||||
int APS5_VABI sceUserServiceGetHomeDirectory(std::uint32_t userId, char* path, std::size_t size);
|
||||
int APS5_VABI sceUserServiceSetPbtcSundayDuration(void);
|
||||
int APS5_VABI sceUserServiceSetIPDLeft(void);
|
||||
int APS5_VABI sceUserServiceGetKratosPrimaryUser(void);
|
||||
int APS5_VABI sceUserServiceGetKratosPrimaryUser(int* userId);
|
||||
int APS5_VABI sceUserServiceLogout(void);
|
||||
int APS5_VABI sceUserServiceSetNpDateOfBirth(void);
|
||||
int APS5_VABI sceUserServiceSetPbtcWednesdayHoursStart(void);
|
||||
@@ -269,17 +269,17 @@ int APS5_VABI sceUserServiceGetGlsIsRecievedMessageHidden(void);
|
||||
int APS5_VABI sceUserServiceSetVoiceAgentSessionTimeout(void);
|
||||
int APS5_VABI sceUserServiceSetGlsLanguageFilter(void);
|
||||
int APS5_VABI sceUserServiceGetHmd2Vibration(void);
|
||||
int APS5_VABI sceUserServiceIsLoggedIn(void);
|
||||
int APS5_VABI sceUserServiceIsLoggedIn(int userId);
|
||||
int APS5_VABI sceUserServiceGetPbtcMondayHoursStart(void);
|
||||
int APS5_VABI sceUserServiceSetAppSortOrder(void);
|
||||
int APS5_VABI sceUserServiceSetMouseHandType(void);
|
||||
int APS5_VABI sceUserServiceGetIsQuickSignup(void);
|
||||
int APS5_VABI sceUserServiceIsKratosPrimaryUser(void);
|
||||
bool APS5_VABI sceUserServiceIsKratosPrimaryUser(int userId);
|
||||
int APS5_VABI sceUserServiceSetVoiceAgentEnableWup(void);
|
||||
int APS5_VABI sceUserServiceGetGlsCameraDepthLevel(void);
|
||||
int APS5_VABI sceUserServiceGetHmuBrightness(void);
|
||||
int APS5_VABI sceUserServiceSetGlsHintFlag(void);
|
||||
int APS5_VABI sceUserServiceIsLoggedInWithoutLock(void);
|
||||
int APS5_VABI sceUserServiceIsLoggedInWithoutLock(int userId);
|
||||
int APS5_VABI sceUserServiceSetShareStatus3(void);
|
||||
int APS5_VABI sceUserServiceGetGlsTtsVolume(void);
|
||||
int APS5_VABI sceUserServiceGetMicLevel(void);
|
||||
@@ -384,7 +384,7 @@ int APS5_VABI sceUserServiceSetUserGroupIndex(int index);
|
||||
int APS5_VABI sceUserServiceSetPartyMuteListA(void);
|
||||
int APS5_VABI sceUserServiceSetNpLanguageCode2(void);
|
||||
int APS5_VABI sceUserServiceSetShareStatus2(void);
|
||||
int APS5_VABI sceUserServiceSetForegroundUser(void);
|
||||
int APS5_VABI sceUserServiceSetForegroundUser(int userId);
|
||||
int APS5_VABI sceUserServiceSetGlsAccessTokenTwitch(void);
|
||||
int APS5_VABI sceUserServiceGetNpOfflineAccountAdult(void);
|
||||
int APS5_VABI sceUserServiceSetGamePresets(void);
|
||||
@@ -406,7 +406,7 @@ int APS5_VABI sceUserServiceSetGlsCameraEdgeLevel(void);
|
||||
int APS5_VABI sceUserServiceGetPartyChatTranscriptionLanguageType(void);
|
||||
int APS5_VABI sceUserServiceSetVoiceAgentTtsVolume(void);
|
||||
int APS5_VABI sceUserServiceGetPbtcTuesdayDuration(void);
|
||||
int APS5_VABI sceUserServiceGetUserWithHearingAssist(void);
|
||||
int APS5_VABI sceUserServiceGetUserWithHearingAssist(std::int32_t* userId);
|
||||
int APS5_VABI sceUserServiceGetNpOnlineId(void);
|
||||
int APS5_VABI sceUserServiceGetHintShowFlag3(void);
|
||||
int APS5_VABI sceUserServiceSetNotificationSettings_3(void);
|
||||
|
||||
@@ -45,6 +45,10 @@
|
||||
|
||||
### Unknown function info
|
||||
|
||||
- [sceUserServiceGetKratosPrimaryUser, sceUserServiceIsKratosPrimaryUser and sceUserServiceIsKratosUser](../../../core/libs/prx/libSceUserService/Export.cpp) (libSceUserService) - firmware supports Kratos user queries only when the kernel reports Cronos. AnyPS5's current host model is non-Cronos, so GetKratosPrimaryUser returns `0x80960006` and both Boolean queries return false. Cronos-mode behavior remains unmodelled.
|
||||
- [sceUserServiceIsLoggedIn and sceUserServiceIsLoggedInWithoutLock](../../../core/libs/prx/libSceUserService/Export.cpp) (libSceUserService) - firmware 13.60 checks membership in its logged-in user list and returns 1 or 0 after checking initialization. AnyPS5 uses its connected-user list for the same query.
|
||||
- [sceUserServiceIsUserStorageAccountBound](../../../core/libs/prx/libSceUserService/Export.cpp) (libSceUserService) - AnyPS5 has no linked PSN or online-storage account state; the export returns false, matching its existing zero account-ID model. Bound-account behavior is not modeled.
|
||||
- [sceUserServiceIsKratosPrimaryUser](../../../core/libs/prx/libSceUserService/Export.cpp) - returns false for AnyPS5's non-Cronos host model; Cronos-mode behavior is unavailable.
|
||||
- [sceUserServiceGetLoginUserIdList and sceUserServiceGetEvent for user 0](../../../core/libs/prx/libSceUserService/Export.cpp) (libSceUserService) - under ANYPS5_PAD_PORT0_STATE=controller user 0 logs out when its controller is removed and logs in when it returns, after a hold of 500 ms that AnyPS5 chooses. Whether the console logs the initial user out on controller removal, how long it takes and which event it sends are not measured. The default mode keeps user 0 logged in as before.
|
||||
- [sceUserServiceGetNpAccountId](../../../core/libs/prx/libSceUserService/Export.cpp) (libSceUserService) - the account id for a logged-in user with no linked PSN account is assumed to be 0 with success; libSceNpManager's `sceNpGetAccountIdA` answers the same question with `SCE_NP_ERROR_SIGNED_OUT`. Console measurement on PS4 Pro firmware 10.71 confirms a user that is not logged in returns `0x80960105` (`USER_SERVICE_ERROR_UNKNOWN_USER`) and leaves the output untouched, differing from `sceUserServiceGetUserName`.
|
||||
- [Older settings exports](../../../core/libs/prx/libSceUserService/LegacyExports.cpp) - Forty callable NIDs are declared as throwing placeholders for older software. Their signatures and behavior are unverified; parameterless `int` declarations are placeholders, not verified ABI contracts. The corresponding NIDs are absent from the later version-labelled inventory. Representative later settings functions use a related dispatch pattern, which does not establish compatibility for these settings. No functionality is implemented.
|
||||
@@ -175,7 +179,6 @@
|
||||
- [sceUserServiceGetHomeDirectory](../../../core/libs/prx/libSceUserService/Export.cpp) (libSceUserService) - unknown signature
|
||||
- [sceUserServiceSetPbtcSundayDuration](../../../core/libs/prx/libSceUserService/Export.cpp) (libSceUserService) - unknown signature
|
||||
- [sceUserServiceSetIPDLeft](../../../core/libs/prx/libSceUserService/Export.cpp) (libSceUserService) - unknown signature
|
||||
- [sceUserServiceGetKratosPrimaryUser](../../../core/libs/prx/libSceUserService/Export.cpp) (libSceUserService) - unknown signature
|
||||
- [sceUserServiceSetNpDateOfBirth](../../../core/libs/prx/libSceUserService/Export.cpp) (libSceUserService) - unknown signature
|
||||
- [sceUserServiceSetPbtcWednesdayHoursStart](../../../core/libs/prx/libSceUserService/Export.cpp) (libSceUserService) - unknown signature
|
||||
- [sceUserServiceGetSparkEqParam](../../../core/libs/prx/libSceUserService/Export.cpp) (libSceUserService) - unknown signature
|
||||
@@ -370,7 +373,7 @@
|
||||
- [sceUserServiceSetPartyMuteListA](../../../core/libs/prx/libSceUserService/Export.cpp) (libSceUserService) - unknown signature
|
||||
- [sceUserServiceSetNpLanguageCode2](../../../core/libs/prx/libSceUserService/Export.cpp) (libSceUserService) - unknown signature
|
||||
- [sceUserServiceSetShareStatus2](../../../core/libs/prx/libSceUserService/Export.cpp) (libSceUserService) - unknown signature
|
||||
- [sceUserServiceSetForegroundUser](../../../core/libs/prx/libSceUserService/Export.cpp) (libSceUserService) - unknown signature
|
||||
- [sceUserServiceSetForegroundUser](../../../core/libs/prx/libSceUserService/Export.cpp) (libSceUserService) - the 13.60 managed wrapper recovers `(int userId)`; foreground-user state is not modeled.
|
||||
- [sceUserServiceSetGlsAccessTokenTwitch](../../../core/libs/prx/libSceUserService/Export.cpp) (libSceUserService) - unknown signature
|
||||
- [sceUserServiceGetNpOfflineAccountAdult](../../../core/libs/prx/libSceUserService/Export.cpp) (libSceUserService) - unknown signature
|
||||
- [sceUserServiceSetGamePresets](../../../core/libs/prx/libSceUserService/Export.cpp) (libSceUserService) - unknown signature
|
||||
@@ -391,7 +394,7 @@
|
||||
- [sceUserServiceGetPartyChatTranscriptionLanguageType](../../../core/libs/prx/libSceUserService/Export.cpp) (libSceUserService) - unknown signature
|
||||
- [sceUserServiceSetVoiceAgentTtsVolume](../../../core/libs/prx/libSceUserService/Export.cpp) (libSceUserService) - unknown signature
|
||||
- [sceUserServiceGetPbtcTuesdayDuration](../../../core/libs/prx/libSceUserService/Export.cpp) (libSceUserService) - unknown signature
|
||||
- [sceUserServiceGetUserWithHearingAssist](../../../core/libs/prx/libSceUserService/Export.cpp) (libSceUserService) - unknown signature
|
||||
- [sceUserServiceGetUserWithHearingAssist](../../../core/libs/prx/libSceUserService/Export.cpp) (libSceUserService) - 13.60 ABI is `(int32_t* userId)` and dispatches query `0x3002b`; the result comes from the unavailable UserService backend, so the export still throws.
|
||||
- [sceUserServiceGetNpOnlineId](../../../core/libs/prx/libSceUserService/Export.cpp) (libSceUserService) - unknown signature
|
||||
- [sceUserServiceGetHintShowFlag3](../../../core/libs/prx/libSceUserService/Export.cpp) (libSceUserService) - unknown signature
|
||||
- [sceUserServiceSetNotificationSettings_3](../../../core/libs/prx/libSceUserService/Export.cpp) (libSceUserService) - unknown signature
|
||||
|
||||
Reference in new issue
Block a user