Browse Source

forgot settings

pull/3123/head
Maufeat 2 weeks ago
parent
commit
15dfd2bf1e
  1. 23
      src/core/hle/service/set/system_settings_server.cpp
  2. 2
      src/core/hle/service/set/system_settings_server.h

23
src/core/hle/service/set/system_settings_server.cpp

@ -36,6 +36,29 @@ struct SettingsHeader {
u32 version;
u32 reserved;
};
void SyncGlobalLanguageFromCode(LanguageCode language_code) {
const auto it = std::find_if(available_language_codes.begin(), available_language_codes.end(),
[language_code](LanguageCode code) { return code == language_code; });
if (it == available_language_codes.end()) {
return;
}
const std::size_t index = static_cast<std::size_t>(std::distance(available_language_codes.begin(), it));
if (index >= static_cast<std::size_t>(Settings::values.language_index.GetValue())) {
Settings::values.language_index.SetValue(static_cast<Settings::Language>(index));
}
}
void SyncGlobalRegionFromCode(SystemRegionCode region_code) {
const auto region_index = static_cast<std::size_t>(region_code);
if (region_index > static_cast<std::size_t>(Settings::Region::Taiwan)) {
return;
}
Settings::values.region_index.SetValue(static_cast<Settings::Region>(region_index));
}
} // Anonymous namespace
Result GetFirmwareVersionImpl(FirmwareVersionFormat& out_firmware, Core::System& system,

2
src/core/hle/service/set/system_settings_server.h

@ -165,6 +165,7 @@ public:
private:
bool LoadSettingsFile(std::filesystem::path& path, auto&& default_func);
bool StoreSettingsFile(std::filesystem::path& path, auto& settings);
void StoreSettingsThreadFunc(std::stop_token stop_token);
void SetupSettings();
void StoreSettings();
void SetSaveNeeded();
@ -174,6 +175,7 @@ private:
PrivateSettings m_private_settings{};
DeviceSettings m_device_settings{};
ApplnSettings m_appln_settings{};
std::jthread m_save_thread;
std::mutex m_save_needed_mutex;
bool m_save_needed{false};
};

Loading…
Cancel
Save