[XAM] Settings: Added specific default settings list
This commit is contained in:
parent
01fc219fc2
commit
1544349499
|
@ -18,11 +18,24 @@ namespace xe {
|
|||
namespace kernel {
|
||||
namespace xam {
|
||||
|
||||
const static std::array<UserSetting, 2> default_setting_values = {
|
||||
UserSetting(
|
||||
UserSettingId::XPROFILE_GAMER_TIER,
|
||||
X_XAMACCOUNTINFO::AccountSubscriptionTier::kSubscriptionTierGold),
|
||||
UserSetting(
|
||||
UserSettingId::XPROFILE_GAMERCARD_PICTURE_KEY,
|
||||
xe::string_util::read_u16string_and_swap(u"gamercard_picture_key"))};
|
||||
|
||||
UserSetting::UserSetting(UserSetting& setting) : UserData(setting) {
|
||||
setting_id_ = setting.setting_id_;
|
||||
setting_source_ = setting.setting_source_;
|
||||
}
|
||||
|
||||
UserSetting::UserSetting(const UserSetting& setting) : UserData(setting) {
|
||||
setting_id_ = setting.setting_id_;
|
||||
setting_source_ = setting.setting_source_;
|
||||
}
|
||||
|
||||
UserSetting::UserSetting(UserSettingId setting_id, UserDataTypes setting_data)
|
||||
: UserData(get_type(static_cast<uint32_t>(setting_id)), setting_data),
|
||||
setting_id_(setting_id),
|
||||
|
@ -46,6 +59,12 @@ UserSetting::UserSetting(const X_XDBF_GPD_SETTING_HEADER* profile_setting,
|
|||
|
||||
std::optional<UserSetting> UserSetting::GetDefaultSetting(
|
||||
const UserProfile* user, uint32_t setting_id) {
|
||||
for (const auto& setting : default_setting_values) {
|
||||
if (setting.get_setting_id() == setting_id) {
|
||||
return std::make_optional<UserSetting>(setting);
|
||||
}
|
||||
}
|
||||
|
||||
const auto type = UserData::get_type(setting_id);
|
||||
|
||||
switch (type) {
|
||||
|
|
|
@ -397,6 +397,7 @@ enum PREFERRED_COLOR_OPTIONS : uint32_t {
|
|||
class UserSetting : public UserData {
|
||||
public:
|
||||
UserSetting(UserSetting& setting);
|
||||
UserSetting(const UserSetting& setting);
|
||||
// Ctor for writing from host
|
||||
UserSetting(UserSettingId setting_id, UserDataTypes setting_data);
|
||||
// Ctor for writing to GPD
|
||||
|
|
Loading…
Reference in New Issue