[XAM] Cleanup user settings header to reduce including issues

This commit is contained in:
Adrian
2026-02-04 23:40:23 +00:00
committed by Radosław Gliński
parent 1a9613705d
commit ef65c6761b
4 changed files with 19 additions and 19 deletions

View File

@@ -15,16 +15,18 @@
#include <variant>
#include <vector>
#include "xenia/kernel/xam/profile_manager.h"
#include "xenia/kernel/title_id_utils.h"
#include "xenia/kernel/xam/user_data.h"
#include "xenia/kernel/xam/user_profile.h"
#include "xenia/xbox.h"
#include "xenia/kernel/xam/xam.h"
#include "xenia/kernel/xam/xdbf/gpd_info.h"
namespace xe {
namespace kernel {
namespace xam {
enum class X_USER_PROFILE_SETTING_SOURCE : uint32_t;
struct X_USER_PROFILE_SETTING;
constexpr uint32_t SettingKey(X_USER_DATA_TYPE type, uint16_t size,
uint16_t id) {
return static_cast<uint32_t>(type) << 28 | size << 16 | id;
@@ -478,8 +480,7 @@ class UserSetting : public UserData {
UserSetting(const X_XDBF_GPD_SETTING_HEADER* profile_setting,
std::span<const uint8_t> extended_data);
static std::optional<UserSetting> GetDefaultSetting(const UserProfile* user,
uint32_t setting_id);
static std::optional<UserSetting> GetDefaultSetting(uint32_t setting_id);
void WriteToGuest(X_USER_PROFILE_SETTING* setting_ptr,
uint32_t& extended_data_address);
std::vector<uint8_t> Serialize() const;
@@ -521,6 +522,15 @@ class UserSetting : public UserData {
}
};
const static std::array<UserSetting, 3> default_setting_values = {
UserSetting(UserSettingId::XPROFILE_OPTION_CONTROLLER_VIBRATION, 3),
UserSetting(
UserSettingId::XPROFILE_GAMER_TIER,
X_XAMACCOUNTINFO::AccountSubscriptionTier::kSubscriptionTierGold),
UserSetting(
UserSettingId::XPROFILE_GAMERCARD_PICTURE_KEY,
xe::string_util::read_u16string_and_swap(u"FFFE07D10002000200010002"))};
} // namespace xam
} // namespace kernel
} // namespace xe