settings: move use_docked_mode to Controls group
`use_docked_mode` is set in the input settings and cannot be accessed from the system settings. Grouping it with system settings causes it to be saved with per-game settings, which may make transferring configs more difficult later on, especially since docked mode cannot be set from within the game properties dialog.
This commit is contained in:
@@ -47,7 +47,7 @@ FramebufferLayout DefaultFrameLayout(u32 width, u32 height) {
|
||||
FramebufferLayout FrameLayoutFromResolutionScale(u32 res_scale) {
|
||||
u32 width, height;
|
||||
|
||||
if (Settings::values->use_docked_mode) {
|
||||
if (Settings::base_values.use_docked_mode) {
|
||||
width = ScreenDocked::Width * res_scale;
|
||||
height = ScreenDocked::Height * res_scale;
|
||||
} else {
|
||||
|
||||
@@ -729,7 +729,7 @@ void ICommonStateGetter::GetDefaultDisplayResolution(Kernel::HLERequestContext&
|
||||
IPC::ResponseBuilder rb{ctx, 4};
|
||||
rb.Push(RESULT_SUCCESS);
|
||||
|
||||
if (Settings::values->use_docked_mode) {
|
||||
if (Settings::base_values.use_docked_mode) {
|
||||
rb.Push(static_cast<u32>(Service::VI::DisplayResolution::DockedWidth) *
|
||||
static_cast<u32>(Settings::values->resolution_factor));
|
||||
rb.Push(static_cast<u32>(Service::VI::DisplayResolution::DockedHeight) *
|
||||
@@ -802,7 +802,7 @@ void IStorage::Open(Kernel::HLERequestContext& ctx) {
|
||||
}
|
||||
|
||||
void ICommonStateGetter::GetOperationMode(Kernel::HLERequestContext& ctx) {
|
||||
const bool use_docked_mode{Settings::values->use_docked_mode};
|
||||
const bool use_docked_mode{Settings::base_values.use_docked_mode};
|
||||
LOG_DEBUG(Service_AM, "called, use_docked_mode={}", use_docked_mode);
|
||||
|
||||
IPC::ResponseBuilder rb{ctx, 3};
|
||||
|
||||
@@ -69,7 +69,7 @@ void Controller::SetFromCpuBoostMode(CpuBoostMode mode) {
|
||||
}
|
||||
|
||||
PerformanceMode Controller::GetCurrentPerformanceMode() const {
|
||||
return Settings::values->use_docked_mode ? PerformanceMode::Docked : PerformanceMode::Handheld;
|
||||
return Settings::base_values.use_docked_mode ? PerformanceMode::Docked : PerformanceMode::Handheld;
|
||||
}
|
||||
|
||||
PerformanceConfiguration Controller::GetCurrentPerformanceConfiguration(PerformanceMode mode) {
|
||||
|
||||
@@ -685,7 +685,7 @@ bool Controller_NPad::IsControllerSupported(NPadControllerType controller) const
|
||||
return false;
|
||||
}
|
||||
// Handheld should not be supported in docked mode
|
||||
if (Settings::values->use_docked_mode) {
|
||||
if (Settings::base_values.use_docked_mode) {
|
||||
return false;
|
||||
}
|
||||
|
||||
@@ -718,7 +718,7 @@ Controller_NPad::NPadControllerType Controller_NPad::DecideBestController(
|
||||
if (IsControllerSupported(priority)) {
|
||||
return priority;
|
||||
}
|
||||
const auto is_docked = Settings::values->use_docked_mode;
|
||||
const auto is_docked = Settings::base_values.use_docked_mode;
|
||||
if (is_docked && priority == NPadControllerType::Handheld) {
|
||||
priority = NPadControllerType::JoyDual;
|
||||
if (IsControllerSupported(priority)) {
|
||||
|
||||
@@ -746,7 +746,7 @@ private:
|
||||
IPC::ResponseBuilder rb{ctx, 6};
|
||||
rb.Push(RESULT_SUCCESS);
|
||||
|
||||
if (Settings::values->use_docked_mode) {
|
||||
if (Settings::base_values.use_docked_mode) {
|
||||
rb.Push(static_cast<u32>(Service::VI::DisplayResolution::DockedWidth) *
|
||||
static_cast<u32>(Settings::values->resolution_factor));
|
||||
rb.Push(static_cast<u32>(Service::VI::DisplayResolution::DockedHeight) *
|
||||
|
||||
@@ -176,7 +176,7 @@ void LogSetting(const std::string& name, const T& value) {
|
||||
|
||||
void LogSettings() {
|
||||
LOG_INFO(Config, "yuzu Configuration:");
|
||||
LogSetting("System_UseDockedMode", Settings::values->use_docked_mode);
|
||||
LogSetting("System_UseDockedMode", Settings::base_values.use_docked_mode);
|
||||
LogSetting("System_RngSeed", Settings::values->rng_seed.value_or(0));
|
||||
LogSetting("System_CurrentUser", Settings::values->current_user);
|
||||
LogSetting("System_LanguageIndex", Settings::values->language_index);
|
||||
|
||||
@@ -420,7 +420,6 @@ struct Values {
|
||||
float bg_blue;
|
||||
|
||||
// System
|
||||
bool use_docked_mode;
|
||||
std::optional<u32> rng_seed;
|
||||
// Measured in seconds since epoch
|
||||
std::optional<std::chrono::seconds> custom_rtc;
|
||||
@@ -457,6 +456,8 @@ struct NonSwitchingValues {
|
||||
u16 udp_input_port;
|
||||
u8 udp_pad_index;
|
||||
|
||||
bool use_docked_mode;
|
||||
|
||||
// Data Storage
|
||||
bool use_virtual_sd;
|
||||
bool gamecard_inserted;
|
||||
|
||||
@@ -203,7 +203,7 @@ void TelemetrySession::AddInitialInfo(Loader::AppLoader& app_loader) {
|
||||
Settings::values->use_asynchronous_gpu_emulation);
|
||||
AddField(field_type, "Renderer_UseVsync", Settings::values->use_vsync);
|
||||
AddField(field_type, "Renderer_UseAssemblyShaders", Settings::values->use_assembly_shaders);
|
||||
AddField(field_type, "System_UseDockedMode", Settings::values->use_docked_mode);
|
||||
AddField(field_type, "System_UseDockedMode", Settings::base_values.use_docked_mode);
|
||||
}
|
||||
|
||||
bool TelemetrySession::SubmitTestcase() {
|
||||
|
||||
@@ -447,6 +447,8 @@ void Config::ReadControlValues() {
|
||||
.toInt());
|
||||
Settings::base_values.udp_pad_index =
|
||||
static_cast<u8>(ReadSetting(QStringLiteral("udp_pad_index"), 0).toUInt());
|
||||
Settings::base_values.use_docked_mode =
|
||||
ReadSetting(QStringLiteral("use_docked_mode"), false).toBool();
|
||||
|
||||
qt_config->endGroup();
|
||||
}
|
||||
@@ -699,9 +701,6 @@ void Config::ReadShortcutValues() {
|
||||
void Config::ReadSystemValues() {
|
||||
qt_config->beginGroup(QStringLiteral("System"));
|
||||
|
||||
Settings::config_values->use_docked_mode =
|
||||
ReadSetting(QStringLiteral("use_docked_mode"), false).toBool();
|
||||
|
||||
Settings::config_values->current_user = std::clamp<int>(
|
||||
ReadSetting(QStringLiteral("current_user"), 0).toInt(), 0, Service::Account::MAX_USERS - 1);
|
||||
|
||||
@@ -977,6 +976,8 @@ void Config::SaveControlValues() {
|
||||
WriteSetting(QStringLiteral("udp_input_port"), Settings::base_values.udp_input_port,
|
||||
InputCommon::CemuhookUDP::DEFAULT_PORT);
|
||||
WriteSetting(QStringLiteral("udp_pad_index"), Settings::base_values.udp_pad_index, 0);
|
||||
WriteSetting(QStringLiteral("use_docked_mode"), Settings::base_values.use_docked_mode,
|
||||
false);
|
||||
|
||||
qt_config->endGroup();
|
||||
}
|
||||
@@ -1176,8 +1177,6 @@ void Config::SaveShortcutValues() {
|
||||
void Config::SaveSystemValues() {
|
||||
qt_config->beginGroup(QStringLiteral("System"));
|
||||
|
||||
WriteSetting(QStringLiteral("use_docked_mode"), Settings::config_values->use_docked_mode,
|
||||
false);
|
||||
WriteSetting(QStringLiteral("current_user"), Settings::config_values->current_user, 0);
|
||||
WriteSetting(QStringLiteral("language_index"), Settings::config_values->language_index, 1);
|
||||
WriteSetting(QStringLiteral("region_index"), Settings::config_values->region_index, 1);
|
||||
|
||||
@@ -129,9 +129,9 @@ void ConfigureInput::ApplyConfiguration() {
|
||||
}
|
||||
}
|
||||
|
||||
const bool pre_docked_mode = Settings::config_values->use_docked_mode;
|
||||
Settings::config_values->use_docked_mode = ui->use_docked_mode->isChecked();
|
||||
OnDockedModeChanged(pre_docked_mode, Settings::config_values->use_docked_mode);
|
||||
const bool pre_docked_mode = Settings::base_values.use_docked_mode;
|
||||
Settings::base_values.use_docked_mode = ui->use_docked_mode->isChecked();
|
||||
OnDockedModeChanged(pre_docked_mode, Settings::base_values.use_docked_mode);
|
||||
Settings::base_values
|
||||
.players[Service::HID::Controller_NPad::NPadIdToIndex(Service::HID::NPAD_HANDHELD)]
|
||||
.connected = ui->handheld_connected->isChecked();
|
||||
@@ -201,7 +201,7 @@ void ConfigureInput::LoadConfiguration() {
|
||||
|
||||
LoadPlayerControllerIndices();
|
||||
|
||||
ui->use_docked_mode->setChecked(Settings::config_values->use_docked_mode);
|
||||
ui->use_docked_mode->setChecked(Settings::base_values.use_docked_mode);
|
||||
ui->handheld_connected->setChecked(
|
||||
Settings::base_values
|
||||
.players[Service::HID::Controller_NPad::NPadIdToIndex(Service::HID::NPAD_HANDHELD)]
|
||||
|
||||
@@ -46,7 +46,7 @@ void HandheldOnProfileSelect() {
|
||||
Settings::base_values.players[player].connected = false;
|
||||
}
|
||||
|
||||
Settings::config_values->use_docked_mode = false;
|
||||
Settings::base_values.use_docked_mode = false;
|
||||
Settings::base_values.keyboard_enabled = false;
|
||||
Settings::base_values.mouse_enabled = false;
|
||||
Settings::base_values.debug_pad_enabled = false;
|
||||
@@ -61,7 +61,7 @@ void DualJoyconsDockedOnProfileSelect() {
|
||||
Settings::base_values.players[player].connected = false;
|
||||
}
|
||||
|
||||
Settings::config_values->use_docked_mode = true;
|
||||
Settings::base_values.use_docked_mode = true;
|
||||
Settings::base_values.keyboard_enabled = false;
|
||||
Settings::base_values.mouse_enabled = false;
|
||||
Settings::base_values.debug_pad_enabled = false;
|
||||
@@ -142,9 +142,9 @@ void ConfigureInputSimple::LoadConfiguration() {
|
||||
}
|
||||
|
||||
void ConfigureInputSimple::OnSelectProfile(int index) {
|
||||
const auto old_docked = Settings::config_values->use_docked_mode;
|
||||
const auto old_docked = Settings::base_values.use_docked_mode;
|
||||
ApplyInputProfileConfiguration(index);
|
||||
OnDockedModeChanged(old_docked, Settings::config_values->use_docked_mode);
|
||||
OnDockedModeChanged(old_docked, Settings::base_values.use_docked_mode);
|
||||
}
|
||||
|
||||
void ConfigureInputSimple::OnConfigure() {
|
||||
|
||||
@@ -517,13 +517,14 @@ void GMainWindow::InitializeWidgets() {
|
||||
dock_status_button->setObjectName(QStringLiteral("TogglableStatusBarButton"));
|
||||
dock_status_button->setFocusPolicy(Qt::NoFocus);
|
||||
connect(dock_status_button, &QPushButton::clicked, [&] {
|
||||
Settings::values->use_docked_mode = !Settings::values->use_docked_mode;
|
||||
dock_status_button->setChecked(Settings::values->use_docked_mode);
|
||||
OnDockedModeChanged(!Settings::values->use_docked_mode, Settings::values->use_docked_mode);
|
||||
Settings::base_values.use_docked_mode = !Settings::base_values.use_docked_mode;
|
||||
dock_status_button->setChecked(Settings::base_values.use_docked_mode);
|
||||
OnDockedModeChanged(!Settings::base_values.use_docked_mode,
|
||||
Settings::base_values.use_docked_mode);
|
||||
});
|
||||
dock_status_button->setText(tr("DOCK"));
|
||||
dock_status_button->setCheckable(true);
|
||||
dock_status_button->setChecked(Settings::values->use_docked_mode);
|
||||
dock_status_button->setChecked(Settings::base_values.use_docked_mode);
|
||||
statusBar()->insertPermanentWidget(0, dock_status_button);
|
||||
|
||||
// Setup ASync button
|
||||
@@ -759,10 +760,10 @@ void GMainWindow::InitializeHotkeys() {
|
||||
});
|
||||
connect(hotkey_registry.GetHotkey(main_window, QStringLiteral("Change Docked Mode"), this),
|
||||
&QShortcut::activated, this, [&] {
|
||||
Settings::values->use_docked_mode = !Settings::values->use_docked_mode;
|
||||
OnDockedModeChanged(!Settings::values->use_docked_mode,
|
||||
Settings::values->use_docked_mode);
|
||||
dock_status_button->setChecked(Settings::values->use_docked_mode);
|
||||
Settings::base_values.use_docked_mode = !Settings::base_values.use_docked_mode;
|
||||
OnDockedModeChanged(!Settings::base_values.use_docked_mode,
|
||||
Settings::base_values.use_docked_mode);
|
||||
dock_status_button->setChecked(Settings::base_values.use_docked_mode);
|
||||
});
|
||||
connect(hotkey_registry.GetHotkey(main_window, QStringLiteral("Mute Audio"), this),
|
||||
&QShortcut::activated, this,
|
||||
@@ -2123,12 +2124,11 @@ void GMainWindow::UpdateStatusBar() {
|
||||
}
|
||||
|
||||
void GMainWindow::UpdateStatusButtons() {
|
||||
dock_status_button->setChecked(Settings::values.use_docked_mode);
|
||||
dock_status_button->setChecked(Settings::base_values.use_docked_mode);
|
||||
multicore_status_button->setChecked(Settings::values.use_multi_core);
|
||||
Settings::values.use_asynchronous_gpu_emulation =
|
||||
Settings::values.use_asynchronous_gpu_emulation || Settings::values.use_multi_core;
|
||||
async_status_button->setChecked(Settings::values.use_asynchronous_gpu_emulation);
|
||||
|
||||
#ifdef HAS_VULKAN
|
||||
renderer_status_button->setChecked(Settings::values->renderer_backend ==
|
||||
Settings::RendererBackend::Vulkan);
|
||||
|
||||
Reference in New Issue
Block a user