[XAM] Implemented XamUserGetUserFlags & XamUserGetUserFlagsFromXUID
This commit is contained in:
parent
c06b1f6e98
commit
05ae4ac6e9
|
@ -160,6 +160,8 @@ class UserProfile {
|
||||||
uint32_t signin_state() const { return 1; }
|
uint32_t signin_state() const { return 1; }
|
||||||
uint32_t type() const { return 1 | 2; /* local | online profile? */ }
|
uint32_t type() const { return 1 | 2; /* local | online profile? */ }
|
||||||
|
|
||||||
|
uint32_t GetCachedFlags() const { return account_info_.GetCachedFlags(); };
|
||||||
|
|
||||||
void AddSetting(std::unique_ptr<UserSetting> setting);
|
void AddSetting(std::unique_ptr<UserSetting> setting);
|
||||||
UserSetting* GetSetting(uint32_t setting_id);
|
UserSetting* GetSetting(uint32_t setting_id);
|
||||||
|
|
||||||
|
|
|
@ -707,6 +707,29 @@ dword_result_t XamUserGetSubscriptionType_entry(dword_t user_index,
|
||||||
}
|
}
|
||||||
DECLARE_XAM_EXPORT1(XamUserGetSubscriptionType, kUserProfiles, kStub);
|
DECLARE_XAM_EXPORT1(XamUserGetSubscriptionType, kUserProfiles, kStub);
|
||||||
|
|
||||||
|
dword_result_t XamUserGetUserFlags_entry(dword_t user_index) {
|
||||||
|
if (!kernel_state()->xam_state()->IsUserSignedIn(user_index)) {
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
const auto& user_profile =
|
||||||
|
kernel_state()->xam_state()->GetUserProfile(user_index);
|
||||||
|
|
||||||
|
return user_profile->GetCachedFlags();
|
||||||
|
}
|
||||||
|
DECLARE_XAM_EXPORT1(XamUserGetUserFlags, kUserProfiles, kImplemented);
|
||||||
|
|
||||||
|
dword_result_t XamUserGetUserFlagsFromXUID_entry(qword_t xuid) {
|
||||||
|
if (!kernel_state()->xam_state()->IsUserSignedIn(xuid)) {
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
const auto& user_profile = kernel_state()->xam_state()->GetUserProfile(xuid);
|
||||||
|
|
||||||
|
return user_profile->GetCachedFlags();
|
||||||
|
}
|
||||||
|
DECLARE_XAM_EXPORT1(XamUserGetUserFlagsFromXUID, kUserProfiles, kImplemented);
|
||||||
|
|
||||||
constexpr uint8_t kStatsMaxAmount = 64;
|
constexpr uint8_t kStatsMaxAmount = 64;
|
||||||
|
|
||||||
struct X_STATS_DETAILS {
|
struct X_STATS_DETAILS {
|
||||||
|
|
|
@ -620,6 +620,8 @@ struct X_XAMACCOUNTINFO {
|
||||||
AccountReservedFlags::kLiveEnabled);
|
AccountReservedFlags::kLiveEnabled);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
uint32_t GetCachedFlags() const { return cached_user_flags; };
|
||||||
|
|
||||||
uint32_t GetCountry() const {
|
uint32_t GetCountry() const {
|
||||||
return (cached_user_flags & kCountryMask) >> 8;
|
return (cached_user_flags & kCountryMask) >> 8;
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue