[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

@@ -75,6 +75,9 @@ class UserTracker {
void UpsertSetting(uint64_t xuid, uint32_t title_id,
const UserSetting* setting);
std::optional<UserSetting> GetSetting(UserProfile* user, uint32_t title_id,
uint32_t setting_id) const;
bool GetUserSetting(uint64_t xuid, uint32_t title_id, uint32_t setting_id,
X_USER_PROFILE_SETTING* setting_ptr,
uint32_t& extended_data_address) const;
@@ -92,6 +95,8 @@ class UserTracker {
uint32_t achievement_id) const;
// Images
bool UpdateUserIcon(uint64_t xuid, std::span<const uint8_t> icon_data);
std::span<const uint8_t> GetIcon(uint64_t xuid, uint32_t title_id,
XTileType tile_type, uint64_t tile_id) const;
@@ -100,9 +105,6 @@ class UserTracker {
void UpdateSettingValue(uint64_t xuid, uint32_t title_id,
UserSettingId setting_id, int32_t difference);
std::optional<UserSetting> GetSetting(UserProfile* user, uint32_t title_id,
uint32_t setting_id) const;
std::optional<UserSetting> GetGpdSetting(UserProfile* user, uint32_t title_id,
uint32_t setting_id) const;