[UI] Added modify profile UI

- Changed default icons size from 75x75 to 64x64 to match console icons size
- Added png_utils
- Removed all dialogs from xam_ui.cc into separate entities under xam/ui
- Added option to return INT32 and WSTRING type settings to host
- Added multiple enums related to user settings
- Added code to handle changing user pfp
- Fixed bug with system app being added to GPD played list
- Changed logic in: XamUserGetUserFlagsFromXUID
- Implemented: XamUserIsOnlineEnabled
- Implemented: XamUserGetMembershipTier
- Implemented: XamUserGetMembershipTierFromXUID
- Implemented: XamUserGetUserTenure
- Partially Implemented: XamUserGetSubscriptionType
This commit is contained in:
Gliniak
2025-05-10 12:52:05 +02:00
committed by Radosław Gliński
parent 270e88a7a7
commit e601b5ab87
30 changed files with 2904 additions and 1404 deletions

View File

@@ -84,6 +84,29 @@ class UserData {
return {extended_data_.data(), extended_data_.size()};
}
UserDataTypes get_host_data() const {
if (data_.type == X_USER_DATA_TYPE::INT32) {
return data_.data.s32;
}
if (data_.type == X_USER_DATA_TYPE::DATETIME) {
return data_.data.s64;
}
if (data_.type == X_USER_DATA_TYPE::WSTRING) {
if (get_extended_data().empty()) {
return std::u16string();
}
const char16_t* str_begin =
reinterpret_cast<const char16_t*>(get_extended_data().data());
return string_util::read_u16string_and_swap(str_begin);
}
return 0;
}
bool is_valid_type() const {
return data_.type >= X_USER_DATA_TYPE::CONTEXT &&
data_.type <= X_USER_DATA_TYPE::DATETIME;