summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorGravatar lat9nq2020-07-14 15:42:12 -0400
committerGravatar lat9nq2020-07-19 13:26:55 -0400
commit3ef4769f31df20d4f4910faebf7ea89978e6a816 (patch)
tree1d458be5ff04cb1aed9d1be5d8744cda95a950ce /src
parentconfiguration_shared: Make CheckState strongly typed (diff)
downloadyuzu-3ef4769f31df20d4f4910faebf7ea89978e6a816.tar.gz
yuzu-3ef4769f31df20d4f4910faebf7ea89978e6a816.tar.xz
yuzu-3ef4769f31df20d4f4910faebf7ea89978e6a816.zip
configuration: Use forward declares and remove extraneous structs
Diffstat (limited to 'src')
-rw-r--r--src/yuzu/configuration/configure_audio.cpp4
-rw-r--r--src/yuzu/configuration/configure_audio.h9
-rw-r--r--src/yuzu/configuration/configure_general.cpp19
-rw-r--r--src/yuzu/configuration/configure_general.h11
-rw-r--r--src/yuzu/configuration/configure_graphics.cpp9
-rw-r--r--src/yuzu/configuration/configure_graphics.h11
-rw-r--r--src/yuzu/configuration/configure_graphics_advanced.cpp23
-rw-r--r--src/yuzu/configuration/configure_graphics_advanced.h17
-rw-r--r--src/yuzu/configuration/configure_system.cpp8
-rw-r--r--src/yuzu/configuration/configure_system.h11
10 files changed, 59 insertions, 63 deletions
diff --git a/src/yuzu/configuration/configure_audio.cpp b/src/yuzu/configuration/configure_audio.cpp
index 392f35085..fea632531 100644
--- a/src/yuzu/configuration/configure_audio.cpp
+++ b/src/yuzu/configuration/configure_audio.cpp
@@ -120,7 +120,7 @@ void ConfigureAudio::ApplyConfiguration() {
120 } else { 120 } else {
121 ConfigurationShared::ApplyPerGameSetting(&Settings::values.enable_audio_stretching, 121 ConfigurationShared::ApplyPerGameSetting(&Settings::values.enable_audio_stretching,
122 ui->toggle_audio_stretching, 122 ui->toggle_audio_stretching,
123 trackers.enable_audio_stretching); 123 enable_audio_stretching);
124 if (ui->volume_combo_box->currentIndex() == 0) { 124 if (ui->volume_combo_box->currentIndex() == 0) {
125 Settings::values.volume.SetGlobal(true); 125 Settings::values.volume.SetGlobal(true);
126 } else { 126 } else {
@@ -175,7 +175,7 @@ void ConfigureAudio::SetupPerGameUI() {
175 175
176 ConfigurationShared::SetColoredTristate(ui->toggle_audio_stretching, "toggle_audio_stretching", 176 ConfigurationShared::SetColoredTristate(ui->toggle_audio_stretching, "toggle_audio_stretching",
177 Settings::values.enable_audio_stretching, 177 Settings::values.enable_audio_stretching,
178 trackers.enable_audio_stretching); 178 enable_audio_stretching);
179 connect(ui->volume_combo_box, static_cast<void (QComboBox::*)(int)>(&QComboBox::activated), 179 connect(ui->volume_combo_box, static_cast<void (QComboBox::*)(int)>(&QComboBox::activated),
180 this, [this](int index) { 180 this, [this](int index) {
181 ui->volume_slider->setEnabled(index == 1); 181 ui->volume_slider->setEnabled(index == 1);
diff --git a/src/yuzu/configuration/configure_audio.h b/src/yuzu/configuration/configure_audio.h
index ac541d961..9dbd3d93e 100644
--- a/src/yuzu/configuration/configure_audio.h
+++ b/src/yuzu/configuration/configure_audio.h
@@ -6,7 +6,10 @@
6 6
7#include <memory> 7#include <memory>
8#include <QWidget> 8#include <QWidget>
9#include "yuzu/configuration/configuration_shared.h" 9
10namespace ConfigurationShared {
11enum class CheckState;
12}
10 13
11namespace Ui { 14namespace Ui {
12class ConfigureAudio; 15class ConfigureAudio;
@@ -39,7 +42,5 @@ private:
39 42
40 std::unique_ptr<Ui::ConfigureAudio> ui; 43 std::unique_ptr<Ui::ConfigureAudio> ui;
41 44
42 struct Trackers { 45 ConfigurationShared::CheckState enable_audio_stretching;
43 ConfigurationShared::CheckState enable_audio_stretching;
44 } trackers;
45}; 46};
diff --git a/src/yuzu/configuration/configure_general.cpp b/src/yuzu/configuration/configure_general.cpp
index 3f7e1183a..c0dbd9855 100644
--- a/src/yuzu/configuration/configure_general.cpp
+++ b/src/yuzu/configuration/configure_general.cpp
@@ -45,8 +45,7 @@ void ConfigureGeneral::SetConfiguration() {
45 ui->frame_limit->setEnabled(Settings::values.use_frame_limit.GetValue()); 45 ui->frame_limit->setEnabled(Settings::values.use_frame_limit.GetValue());
46 } else { 46 } else {
47 ui->frame_limit->setEnabled(Settings::values.use_frame_limit.GetValue() && 47 ui->frame_limit->setEnabled(Settings::values.use_frame_limit.GetValue() &&
48 trackers.use_frame_limit != 48 use_frame_limit != ConfigurationShared::CheckState::Global);
49 ConfigurationShared::CheckState::Global);
50 } 49 }
51} 50}
52 51
@@ -68,10 +67,9 @@ void ConfigureGeneral::ApplyConfiguration() {
68 } 67 }
69 } else { 68 } else {
70 ConfigurationShared::ApplyPerGameSetting(&Settings::values.use_multi_core, 69 ConfigurationShared::ApplyPerGameSetting(&Settings::values.use_multi_core,
71 ui->use_multi_core, trackers.use_multi_core); 70 ui->use_multi_core, use_multi_core);
72 71
73 bool global_frame_limit = 72 bool global_frame_limit = use_frame_limit == ConfigurationShared::CheckState::Global;
74 trackers.use_frame_limit == ConfigurationShared::CheckState::Global;
75 Settings::values.use_frame_limit.SetGlobal(global_frame_limit); 73 Settings::values.use_frame_limit.SetGlobal(global_frame_limit);
76 Settings::values.frame_limit.SetGlobal(global_frame_limit); 74 Settings::values.frame_limit.SetGlobal(global_frame_limit);
77 if (!global_frame_limit) { 75 if (!global_frame_limit) {
@@ -108,15 +106,12 @@ void ConfigureGeneral::SetupPerGameUI() {
108 ui->toggle_hide_mouse->setVisible(false); 106 ui->toggle_hide_mouse->setVisible(false);
109 107
110 ConfigurationShared::SetColoredTristate(ui->toggle_frame_limit, "toggle_frame_limit", 108 ConfigurationShared::SetColoredTristate(ui->toggle_frame_limit, "toggle_frame_limit",
111 Settings::values.use_frame_limit, 109 Settings::values.use_frame_limit, use_frame_limit);
112 trackers.use_frame_limit);
113 ConfigurationShared::SetColoredTristate(ui->use_multi_core, "use_multi_core", 110 ConfigurationShared::SetColoredTristate(ui->use_multi_core, "use_multi_core",
114 Settings::values.use_multi_core, 111 Settings::values.use_multi_core, use_multi_core);
115 trackers.use_multi_core);
116 112
117 connect(ui->toggle_frame_limit, &QCheckBox::clicked, ui->frame_limit, [this]() { 113 connect(ui->toggle_frame_limit, &QCheckBox::clicked, ui->frame_limit, [this]() {
118 ui->frame_limit->setEnabled( 114 ui->frame_limit->setEnabled(ui->toggle_frame_limit->isChecked() &&
119 ui->toggle_frame_limit->isChecked() && 115 (use_frame_limit != ConfigurationShared::CheckState::Global));
120 (trackers.use_frame_limit != ConfigurationShared::CheckState::Global));
121 }); 116 });
122} 117}
diff --git a/src/yuzu/configuration/configure_general.h b/src/yuzu/configuration/configure_general.h
index a1758a973..323ffbd8f 100644
--- a/src/yuzu/configuration/configure_general.h
+++ b/src/yuzu/configuration/configure_general.h
@@ -6,7 +6,10 @@
6 6
7#include <memory> 7#include <memory>
8#include <QWidget> 8#include <QWidget>
9#include "yuzu/configuration/configuration_shared.h" 9
10namespace ConfigurationShared {
11enum class CheckState;
12}
10 13
11class HotkeyRegistry; 14class HotkeyRegistry;
12 15
@@ -33,8 +36,6 @@ private:
33 36
34 std::unique_ptr<Ui::ConfigureGeneral> ui; 37 std::unique_ptr<Ui::ConfigureGeneral> ui;
35 38
36 struct Trackers { 39 ConfigurationShared::CheckState use_frame_limit;
37 ConfigurationShared::CheckState use_frame_limit; 40 ConfigurationShared::CheckState use_multi_core;
38 ConfigurationShared::CheckState use_multi_core;
39 } trackers;
40}; 41};
diff --git a/src/yuzu/configuration/configure_graphics.cpp b/src/yuzu/configuration/configure_graphics.cpp
index 598701bf0..3e42531c3 100644
--- a/src/yuzu/configuration/configure_graphics.cpp
+++ b/src/yuzu/configuration/configure_graphics.cpp
@@ -142,11 +142,10 @@ void ConfigureGraphics::ApplyConfiguration() {
142 ui->aspect_ratio_combobox); 142 ui->aspect_ratio_combobox);
143 143
144 ConfigurationShared::ApplyPerGameSetting(&Settings::values.use_disk_shader_cache, 144 ConfigurationShared::ApplyPerGameSetting(&Settings::values.use_disk_shader_cache,
145 ui->use_disk_shader_cache, 145 ui->use_disk_shader_cache, use_disk_shader_cache);
146 trackers.use_disk_shader_cache);
147 ConfigurationShared::ApplyPerGameSetting(&Settings::values.use_asynchronous_gpu_emulation, 146 ConfigurationShared::ApplyPerGameSetting(&Settings::values.use_asynchronous_gpu_emulation,
148 ui->use_asynchronous_gpu_emulation, 147 ui->use_asynchronous_gpu_emulation,
149 trackers.use_asynchronous_gpu_emulation); 148 use_asynchronous_gpu_emulation);
150 149
151 if (ui->bg_combobox->currentIndex() == ConfigurationShared::USE_GLOBAL_INDEX) { 150 if (ui->bg_combobox->currentIndex() == ConfigurationShared::USE_GLOBAL_INDEX) {
152 Settings::values.bg_red.SetGlobal(true); 151 Settings::values.bg_red.SetGlobal(true);
@@ -257,10 +256,10 @@ void ConfigureGraphics::SetupPerGameUI() {
257 256
258 ConfigurationShared::SetColoredTristate(ui->use_disk_shader_cache, "use_disk_shader_cache", 257 ConfigurationShared::SetColoredTristate(ui->use_disk_shader_cache, "use_disk_shader_cache",
259 Settings::values.use_disk_shader_cache, 258 Settings::values.use_disk_shader_cache,
260 trackers.use_disk_shader_cache); 259 use_disk_shader_cache);
261 ConfigurationShared::SetColoredTristate( 260 ConfigurationShared::SetColoredTristate(
262 ui->use_asynchronous_gpu_emulation, "use_asynchronous_gpu_emulation", 261 ui->use_asynchronous_gpu_emulation, "use_asynchronous_gpu_emulation",
263 Settings::values.use_asynchronous_gpu_emulation, trackers.use_asynchronous_gpu_emulation); 262 Settings::values.use_asynchronous_gpu_emulation, use_asynchronous_gpu_emulation);
264 263
265 ConfigurationShared::SetColoredComboBox(ui->aspect_ratio_combobox, ui->ar_label, "ar_label", 264 ConfigurationShared::SetColoredComboBox(ui->aspect_ratio_combobox, ui->ar_label, "ar_label",
266 Settings::values.aspect_ratio.GetValue(true)); 265 Settings::values.aspect_ratio.GetValue(true));
diff --git a/src/yuzu/configuration/configure_graphics.h b/src/yuzu/configuration/configure_graphics.h
index 8164d6d75..b4961f719 100644
--- a/src/yuzu/configuration/configure_graphics.h
+++ b/src/yuzu/configuration/configure_graphics.h
@@ -9,7 +9,10 @@
9#include <QString> 9#include <QString>
10#include <QWidget> 10#include <QWidget>
11#include "core/settings.h" 11#include "core/settings.h"
12#include "yuzu/configuration/configuration_shared.h" 12
13namespace ConfigurationShared {
14enum class CheckState;
15}
13 16
14namespace Ui { 17namespace Ui {
15class ConfigureGraphics; 18class ConfigureGraphics;
@@ -43,10 +46,8 @@ private:
43 std::unique_ptr<Ui::ConfigureGraphics> ui; 46 std::unique_ptr<Ui::ConfigureGraphics> ui;
44 QColor bg_color; 47 QColor bg_color;
45 48
46 struct Trackers { 49 ConfigurationShared::CheckState use_disk_shader_cache;
47 ConfigurationShared::CheckState use_disk_shader_cache; 50 ConfigurationShared::CheckState use_asynchronous_gpu_emulation;
48 ConfigurationShared::CheckState use_asynchronous_gpu_emulation;
49 } trackers;
50 51
51 std::vector<QString> vulkan_devices; 52 std::vector<QString> vulkan_devices;
52 u32 vulkan_device{}; 53 u32 vulkan_device{};
diff --git a/src/yuzu/configuration/configure_graphics_advanced.cpp b/src/yuzu/configuration/configure_graphics_advanced.cpp
index 5862ad7d1..90c7c901b 100644
--- a/src/yuzu/configuration/configure_graphics_advanced.cpp
+++ b/src/yuzu/configuration/configure_graphics_advanced.cpp
@@ -89,17 +89,16 @@ void ConfigureGraphicsAdvanced::ApplyConfiguration() {
89 ConfigurationShared::ApplyPerGameSetting(&Settings::values.max_anisotropy, 89 ConfigurationShared::ApplyPerGameSetting(&Settings::values.max_anisotropy,
90 ui->anisotropic_filtering_combobox); 90 ui->anisotropic_filtering_combobox);
91 ConfigurationShared::ApplyPerGameSetting(&Settings::values.use_vsync, ui->use_vsync, 91 ConfigurationShared::ApplyPerGameSetting(&Settings::values.use_vsync, ui->use_vsync,
92 trackers.use_vsync); 92 use_vsync);
93 ConfigurationShared::ApplyPerGameSetting(&Settings::values.use_assembly_shaders, 93 ConfigurationShared::ApplyPerGameSetting(&Settings::values.use_assembly_shaders,
94 ui->use_assembly_shaders, 94 ui->use_assembly_shaders, use_assembly_shaders);
95 trackers.use_assembly_shaders);
96 ConfigurationShared::ApplyPerGameSetting(&Settings::values.use_asynchronous_shaders, 95 ConfigurationShared::ApplyPerGameSetting(&Settings::values.use_asynchronous_shaders,
97 ui->use_asynchronous_shaders, 96 ui->use_asynchronous_shaders,
98 trackers.use_asynchronous_shaders); 97 use_asynchronous_shaders);
99 ConfigurationShared::ApplyPerGameSetting(&Settings::values.use_fast_gpu_time, 98 ConfigurationShared::ApplyPerGameSetting(&Settings::values.use_fast_gpu_time,
100 ui->use_fast_gpu_time, trackers.use_fast_gpu_time); 99 ui->use_fast_gpu_time, use_fast_gpu_time);
101 ConfigurationShared::ApplyPerGameSetting(&Settings::values.force_30fps_mode, 100 ConfigurationShared::ApplyPerGameSetting(&Settings::values.force_30fps_mode,
102 ui->force_30fps_mode, trackers.force_30fps_mode); 101 ui->force_30fps_mode, force_30fps_mode);
103 ConfigurationShared::ApplyPerGameSetting(&Settings::values.max_anisotropy, 102 ConfigurationShared::ApplyPerGameSetting(&Settings::values.max_anisotropy,
104 ui->anisotropic_filtering_combobox); 103 ui->anisotropic_filtering_combobox);
105 104
@@ -141,19 +140,17 @@ void ConfigureGraphicsAdvanced::SetupPerGameUI() {
141 } 140 }
142 141
143 ConfigurationShared::SetColoredTristate(ui->use_vsync, "use_vsync", Settings::values.use_vsync, 142 ConfigurationShared::SetColoredTristate(ui->use_vsync, "use_vsync", Settings::values.use_vsync,
144 trackers.use_vsync); 143 use_vsync);
145 ConfigurationShared::SetColoredTristate(ui->use_assembly_shaders, "use_assembly_shaders", 144 ConfigurationShared::SetColoredTristate(ui->use_assembly_shaders, "use_assembly_shaders",
146 Settings::values.use_assembly_shaders, 145 Settings::values.use_assembly_shaders,
147 trackers.use_assembly_shaders); 146 use_assembly_shaders);
148 ConfigurationShared::SetColoredTristate(ui->use_assembly_shaders, "use_asynchronous_shaders", 147 ConfigurationShared::SetColoredTristate(ui->use_assembly_shaders, "use_asynchronous_shaders",
149 Settings::values.use_asynchronous_shaders, 148 Settings::values.use_asynchronous_shaders,
150 trackers.use_asynchronous_shaders); 149 use_asynchronous_shaders);
151 ConfigurationShared::SetColoredTristate(ui->use_fast_gpu_time, "use_fast_gpu_time", 150 ConfigurationShared::SetColoredTristate(ui->use_fast_gpu_time, "use_fast_gpu_time",
152 Settings::values.use_fast_gpu_time, 151 Settings::values.use_fast_gpu_time, use_fast_gpu_time);
153 trackers.use_fast_gpu_time);
154 ConfigurationShared::SetColoredTristate(ui->force_30fps_mode, "force_30fps_mode", 152 ConfigurationShared::SetColoredTristate(ui->force_30fps_mode, "force_30fps_mode",
155 Settings::values.force_30fps_mode, 153 Settings::values.force_30fps_mode, force_30fps_mode);
156 trackers.force_30fps_mode);
157 ConfigurationShared::SetColoredComboBox( 154 ConfigurationShared::SetColoredComboBox(
158 ui->gpu_accuracy, ui->label_gpu_accuracy, "label_gpu_accuracy", 155 ui->gpu_accuracy, ui->label_gpu_accuracy, "label_gpu_accuracy",
159 static_cast<int>(Settings::values.gpu_accuracy.GetValue(true))); 156 static_cast<int>(Settings::values.gpu_accuracy.GetValue(true)));
diff --git a/src/yuzu/configuration/configure_graphics_advanced.h b/src/yuzu/configuration/configure_graphics_advanced.h
index 86bfe822b..3c4f6f7bb 100644
--- a/src/yuzu/configuration/configure_graphics_advanced.h
+++ b/src/yuzu/configuration/configure_graphics_advanced.h
@@ -6,7 +6,10 @@
6 6
7#include <memory> 7#include <memory>
8#include <QWidget> 8#include <QWidget>
9#include "yuzu/configuration/configuration_shared.h" 9
10namespace ConfigurationShared {
11enum class CheckState;
12}
10 13
11namespace Ui { 14namespace Ui {
12class ConfigureGraphicsAdvanced; 15class ConfigureGraphicsAdvanced;
@@ -31,11 +34,9 @@ private:
31 34
32 std::unique_ptr<Ui::ConfigureGraphicsAdvanced> ui; 35 std::unique_ptr<Ui::ConfigureGraphicsAdvanced> ui;
33 36
34 struct Trackers { 37 ConfigurationShared::CheckState use_vsync;
35 ConfigurationShared::CheckState use_vsync; 38 ConfigurationShared::CheckState use_assembly_shaders;
36 ConfigurationShared::CheckState use_assembly_shaders; 39 ConfigurationShared::CheckState use_asynchronous_shaders;
37 ConfigurationShared::CheckState use_asynchronous_shaders; 40 ConfigurationShared::CheckState use_fast_gpu_time;
38 ConfigurationShared::CheckState use_fast_gpu_time; 41 ConfigurationShared::CheckState force_30fps_mode;
39 ConfigurationShared::CheckState force_30fps_mode;
40 } trackers;
41}; 42};
diff --git a/src/yuzu/configuration/configure_system.cpp b/src/yuzu/configuration/configure_system.cpp
index f47e7ebab..0c4daf147 100644
--- a/src/yuzu/configuration/configure_system.cpp
+++ b/src/yuzu/configuration/configure_system.cpp
@@ -148,7 +148,7 @@ void ConfigureSystem::ApplyConfiguration() {
148 ui->combo_time_zone); 148 ui->combo_time_zone);
149 ConfigurationShared::ApplyPerGameSetting(&Settings::values.sound_index, ui->combo_sound); 149 ConfigurationShared::ApplyPerGameSetting(&Settings::values.sound_index, ui->combo_sound);
150 150
151 switch (trackers.use_rng_seed) { 151 switch (use_rng_seed) {
152 case ConfigurationShared::CheckState::On: 152 case ConfigurationShared::CheckState::On:
153 case ConfigurationShared::CheckState::Off: 153 case ConfigurationShared::CheckState::Off:
154 Settings::values.rng_seed.SetGlobal(false); 154 Settings::values.rng_seed.SetGlobal(false);
@@ -168,7 +168,7 @@ void ConfigureSystem::ApplyConfiguration() {
168 break; 168 break;
169 } 169 }
170 170
171 switch (trackers.use_custom_rtc) { 171 switch (use_custom_rtc) {
172 case ConfigurationShared::CheckState::On: 172 case ConfigurationShared::CheckState::On:
173 case ConfigurationShared::CheckState::Off: 173 case ConfigurationShared::CheckState::Off:
174 Settings::values.custom_rtc.SetGlobal(false); 174 Settings::values.custom_rtc.SetGlobal(false);
@@ -237,9 +237,9 @@ void ConfigureSystem::SetupPerGameUI() {
237 ConfigurationShared::SetColoredTristate( 237 ConfigurationShared::SetColoredTristate(
238 ui->rng_seed_checkbox, "rng_seed_checkbox", Settings::values.rng_seed.UsingGlobal(), 238 ui->rng_seed_checkbox, "rng_seed_checkbox", Settings::values.rng_seed.UsingGlobal(),
239 Settings::values.rng_seed.GetValue().has_value(), 239 Settings::values.rng_seed.GetValue().has_value(),
240 Settings::values.rng_seed.GetValue(true).has_value(), trackers.use_rng_seed); 240 Settings::values.rng_seed.GetValue(true).has_value(), use_rng_seed);
241 ConfigurationShared::SetColoredTristate( 241 ConfigurationShared::SetColoredTristate(
242 ui->custom_rtc_checkbox, "custom_rtc_checkbox", Settings::values.custom_rtc.UsingGlobal(), 242 ui->custom_rtc_checkbox, "custom_rtc_checkbox", Settings::values.custom_rtc.UsingGlobal(),
243 Settings::values.custom_rtc.GetValue().has_value(), 243 Settings::values.custom_rtc.GetValue().has_value(),
244 Settings::values.custom_rtc.GetValue(true).has_value(), trackers.use_custom_rtc); 244 Settings::values.custom_rtc.GetValue(true).has_value(), use_custom_rtc);
245} 245}
diff --git a/src/yuzu/configuration/configure_system.h b/src/yuzu/configuration/configure_system.h
index 64c492559..fc5cd2945 100644
--- a/src/yuzu/configuration/configure_system.h
+++ b/src/yuzu/configuration/configure_system.h
@@ -8,7 +8,10 @@
8 8
9#include <QList> 9#include <QList>
10#include <QWidget> 10#include <QWidget>
11#include "yuzu/configuration/configuration_shared.h" 11
12namespace ConfigurationShared {
13enum class CheckState;
14}
12 15
13namespace Ui { 16namespace Ui {
14class ConfigureSystem; 17class ConfigureSystem;
@@ -43,8 +46,6 @@ private:
43 int time_zone_index = 0; 46 int time_zone_index = 0;
44 int sound_index = 0; 47 int sound_index = 0;
45 48
46 struct Trackers { 49 ConfigurationShared::CheckState use_rng_seed;
47 ConfigurationShared::CheckState use_rng_seed; 50 ConfigurationShared::CheckState use_custom_rtc;
48 ConfigurationShared::CheckState use_custom_rtc;
49 } trackers;
50}; 51};