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:
lat9nq
2020-06-18 22:05:03 -04:00
parent 2d01d76ae5
commit de9350925b
12 changed files with 33 additions and 33 deletions

View File

@@ -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 {

View File

@@ -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};

View File

@@ -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) {

View File

@@ -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)) {

View File

@@ -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) *

View File

@@ -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);

View File

@@ -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;

View File

@@ -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() {

View File

@@ -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);

View File

@@ -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)]

View File

@@ -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() {

View File

@@ -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);