summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorGravatar lat9nq2020-07-13 21:37:02 -0400
committerGravatar lat9nq2020-07-19 13:26:55 -0400
commit38152ab0b9678c16c3aa902ddeaad5d437c24237 (patch)
tree8502f28918c89053449173c587a04cb9fc1ac51c /src
parentconfiguration_shared: Switch back to background colors (diff)
downloadyuzu-38152ab0b9678c16c3aa902ddeaad5d437c24237.tar.gz
yuzu-38152ab0b9678c16c3aa902ddeaad5d437c24237.tar.xz
yuzu-38152ab0b9678c16c3aa902ddeaad5d437c24237.zip
configure_graphics_advanced: Implement highlighted overrides
Diffstat (limited to 'src')
-rw-r--r--src/yuzu/configuration/configuration_shared.h1
-rw-r--r--src/yuzu/configuration/configure_graphics_advanced.cpp87
-rw-r--r--src/yuzu/configuration/configure_graphics_advanced.ui154
3 files changed, 146 insertions, 96 deletions
diff --git a/src/yuzu/configuration/configuration_shared.h b/src/yuzu/configuration/configuration_shared.h
index 4b52834c4..71011fd92 100644
--- a/src/yuzu/configuration/configuration_shared.h
+++ b/src/yuzu/configuration/configuration_shared.h
@@ -33,6 +33,7 @@ struct Trackers {
33 33
34 CheckState use_vsync; 34 CheckState use_vsync;
35 CheckState use_assembly_shaders; 35 CheckState use_assembly_shaders;
36 CheckState use_asynchronous_shaders;
36 CheckState use_fast_gpu_time; 37 CheckState use_fast_gpu_time;
37 CheckState force_30fps_mode; 38 CheckState force_30fps_mode;
38} extern trackers; 39} extern trackers;
diff --git a/src/yuzu/configuration/configure_graphics_advanced.cpp b/src/yuzu/configuration/configure_graphics_advanced.cpp
index ce30188cd..fbeaeccbc 100644
--- a/src/yuzu/configuration/configure_graphics_advanced.cpp
+++ b/src/yuzu/configuration/configure_graphics_advanced.cpp
@@ -28,32 +28,25 @@ void ConfigureGraphicsAdvanced::SetConfiguration() {
28 ui->force_30fps_mode->setEnabled(runtime_lock); 28 ui->force_30fps_mode->setEnabled(runtime_lock);
29 ui->anisotropic_filtering_combobox->setEnabled(runtime_lock); 29 ui->anisotropic_filtering_combobox->setEnabled(runtime_lock);
30 30
31 ui->use_vsync->setChecked(Settings::values.use_vsync.GetValue());
32 ui->use_assembly_shaders->setChecked(Settings::values.use_assembly_shaders.GetValue());
33 ui->use_asynchronous_shaders->setChecked(Settings::values.use_asynchronous_shaders.GetValue());
34 ui->use_fast_gpu_time->setChecked(Settings::values.use_fast_gpu_time.GetValue());
35 ui->force_30fps_mode->setChecked(Settings::values.force_30fps_mode.GetValue());
36
31 if (Settings::configuring_global) { 37 if (Settings::configuring_global) {
32 ui->gpu_accuracy->setCurrentIndex( 38 ui->gpu_accuracy->setCurrentIndex(
33 static_cast<int>(Settings::values.gpu_accuracy.GetValue())); 39 static_cast<int>(Settings::values.gpu_accuracy.GetValue()));
34 ui->use_vsync->setChecked(Settings::values.use_vsync.GetValue());
35 ui->use_assembly_shaders->setChecked(Settings::values.use_assembly_shaders.GetValue());
36 ui->use_asynchronous_shaders->setChecked(
37 Settings::values.use_asynchronous_shaders.GetValue());
38 ui->use_fast_gpu_time->setChecked(Settings::values.use_fast_gpu_time.GetValue());
39 ui->force_30fps_mode->setChecked(Settings::values.force_30fps_mode.GetValue());
40 ui->anisotropic_filtering_combobox->setCurrentIndex( 40 ui->anisotropic_filtering_combobox->setCurrentIndex(
41 Settings::values.max_anisotropy.GetValue()); 41 Settings::values.max_anisotropy.GetValue());
42 } else { 42 } else {
43 ConfigurationShared::SetPerGameSetting(ui->gpu_accuracy, &Settings::values.gpu_accuracy); 43 ConfigurationShared::SetPerGameSetting(ui->gpu_accuracy, &Settings::values.gpu_accuracy);
44 ConfigurationShared::SetPerGameSetting(ui->use_vsync, &Settings::values.use_vsync);
45 ConfigurationShared::SetPerGameSetting(ui->use_assembly_shaders,
46 &Settings::values.use_assembly_shaders);
47 ConfigurationShared::SetPerGameSetting(ui->use_asynchronous_shaders,
48 &Settings::values.use_asynchronous_shaders);
49 ConfigurationShared::SetPerGameSetting(ui->use_asynchronous_shaders,
50 &Settings::values.use_asynchronous_shaders);
51 ConfigurationShared::SetPerGameSetting(ui->use_fast_gpu_time,
52 &Settings::values.use_fast_gpu_time);
53 ConfigurationShared::SetPerGameSetting(ui->force_30fps_mode,
54 &Settings::values.force_30fps_mode);
55 ConfigurationShared::SetPerGameSetting(ui->anisotropic_filtering_combobox, 44 ConfigurationShared::SetPerGameSetting(ui->anisotropic_filtering_combobox,
56 &Settings::values.max_anisotropy); 45 &Settings::values.max_anisotropy);
46 ConfigurationShared::SetHighlight(ui->gpu_accuracy_layout, "gpu_accuracy_layout",
47 !Settings::values.gpu_accuracy.UsingGlobal());
48 ConfigurationShared::SetHighlight(ui->af_layout, "af_layout",
49 !Settings::values.max_anisotropy.UsingGlobal());
57 } 50 }
58} 51}
59 52
@@ -95,17 +88,20 @@ void ConfigureGraphicsAdvanced::ApplyConfiguration() {
95 } else { 88 } else {
96 ConfigurationShared::ApplyPerGameSetting(&Settings::values.max_anisotropy, 89 ConfigurationShared::ApplyPerGameSetting(&Settings::values.max_anisotropy,
97 ui->anisotropic_filtering_combobox); 90 ui->anisotropic_filtering_combobox);
98 ConfigurationShared::ApplyPerGameSetting(&Settings::values.use_vsync, ui->use_vsync); 91 ConfigurationShared::ApplyPerGameSetting(&Settings::values.use_vsync, ui->use_vsync,
99 ConfigurationShared::ApplyPerGameSetting(&Settings::values.use_assembly_shaders, 92 ConfigurationShared::trackers.use_vsync);
100 ui->use_assembly_shaders); 93 ConfigurationShared::ApplyPerGameSetting(
101 ConfigurationShared::ApplyPerGameSetting(&Settings::values.use_asynchronous_shaders, 94 &Settings::values.use_assembly_shaders, ui->use_assembly_shaders,
102 ui->use_asynchronous_shaders); 95 ConfigurationShared::trackers.use_assembly_shaders);
103 ConfigurationShared::ApplyPerGameSetting(&Settings::values.use_asynchronous_shaders, 96 ConfigurationShared::ApplyPerGameSetting(
104 ui->use_asynchronous_shaders); 97 &Settings::values.use_asynchronous_shaders, ui->use_asynchronous_shaders,
98 ConfigurationShared::trackers.use_asynchronous_shaders);
105 ConfigurationShared::ApplyPerGameSetting(&Settings::values.use_fast_gpu_time, 99 ConfigurationShared::ApplyPerGameSetting(&Settings::values.use_fast_gpu_time,
106 ui->use_fast_gpu_time); 100 ui->use_fast_gpu_time,
101 ConfigurationShared::trackers.use_fast_gpu_time);
107 ConfigurationShared::ApplyPerGameSetting(&Settings::values.force_30fps_mode, 102 ConfigurationShared::ApplyPerGameSetting(&Settings::values.force_30fps_mode,
108 ui->force_30fps_mode); 103 ui->force_30fps_mode,
104 ConfigurationShared::trackers.force_30fps_mode);
109 ConfigurationShared::ApplyPerGameSetting(&Settings::values.max_anisotropy, 105 ConfigurationShared::ApplyPerGameSetting(&Settings::values.max_anisotropy,
110 ui->anisotropic_filtering_combobox); 106 ui->anisotropic_filtering_combobox);
111 107
@@ -146,11 +142,36 @@ void ConfigureGraphicsAdvanced::SetupPerGameUI() {
146 return; 142 return;
147 } 143 }
148 144
149 ConfigurationShared::InsertGlobalItem(ui->gpu_accuracy); 145 ConfigurationShared::SetColoredTristate(ui->use_vsync, "use_vsync", Settings::values.use_vsync,
150 ui->use_vsync->setTristate(true); 146 ConfigurationShared::trackers.use_vsync);
151 ui->use_assembly_shaders->setTristate(true); 147 ConfigurationShared::SetColoredTristate(ui->use_assembly_shaders, "use_assembly_shaders",
152 ui->use_asynchronous_shaders->setTristate(true); 148 Settings::values.use_assembly_shaders,
153 ui->use_fast_gpu_time->setTristate(true); 149 ConfigurationShared::trackers.use_assembly_shaders);
154 ui->force_30fps_mode->setTristate(true); 150 ConfigurationShared::SetColoredTristate(ui->use_assembly_shaders, "use_asynchronous_shaders",
155 ConfigurationShared::InsertGlobalItem(ui->anisotropic_filtering_combobox); 151 Settings::values.use_asynchronous_shaders,
152 ConfigurationShared::trackers.use_asynchronous_shaders);
153 ConfigurationShared::SetColoredTristate(ui->use_fast_gpu_time, "use_fast_gpu_time",
154 Settings::values.use_fast_gpu_time,
155 ConfigurationShared::trackers.use_fast_gpu_time);
156 ConfigurationShared::SetColoredTristate(ui->force_30fps_mode, "force_30fps_mode",
157 Settings::values.force_30fps_mode,
158 ConfigurationShared::trackers.force_30fps_mode);
159 ConfigurationShared::InsertGlobalItem(
160 ui->gpu_accuracy,
161 ui->gpu_accuracy->itemText(static_cast<int>(Settings::values.gpu_accuracy.GetValue(true))));
162 ConfigurationShared::InsertGlobalItem(
163 ui->anisotropic_filtering_combobox,
164 ui->anisotropic_filtering_combobox->itemText(
165 static_cast<int>(Settings::values.max_anisotropy.GetValue(true))));
166
167 connect(ui->gpu_accuracy, static_cast<void (QComboBox::*)(int)>(&QComboBox::activated), this,
168 [this](int index) {
169 ConfigurationShared::SetHighlight(ui->gpu_accuracy_layout, "gpu_accuracy_layout",
170 index != 0);
171 });
172
173 connect(ui->anisotropic_filtering_combobox,
174 static_cast<void (QComboBox::*)(int)>(&QComboBox::activated), this, [this](int index) {
175 ConfigurationShared::SetHighlight(ui->af_layout, "af_layout", index != 0);
176 });
156} 177}
diff --git a/src/yuzu/configuration/configure_graphics_advanced.ui b/src/yuzu/configuration/configure_graphics_advanced.ui
index 71e7dfe5e..6a0d29c27 100644
--- a/src/yuzu/configuration/configure_graphics_advanced.ui
+++ b/src/yuzu/configuration/configure_graphics_advanced.ui
@@ -6,7 +6,7 @@
6 <rect> 6 <rect>
7 <x>0</x> 7 <x>0</x>
8 <y>0</y> 8 <y>0</y>
9 <width>400</width> 9 <width>404</width>
10 <height>321</height> 10 <height>321</height>
11 </rect> 11 </rect>
12 </property> 12 </property>
@@ -23,34 +23,48 @@
23 </property> 23 </property>
24 <layout class="QVBoxLayout" name="verticalLayout_3"> 24 <layout class="QVBoxLayout" name="verticalLayout_3">
25 <item> 25 <item>
26 <layout class="QHBoxLayout" name="horizontalLayout_2"> 26 <widget class="QWidget" name="gpu_accuracy_layout" native="true">
27 <item> 27 <layout class="QHBoxLayout" name="horizontalLayout_2">
28 <widget class="QLabel" name="label_gpu_accuracy"> 28 <property name="leftMargin">
29 <property name="text"> 29 <number>0</number>
30 <string>Accuracy Level:</string> 30 </property>
31 </property> 31 <property name="topMargin">
32 </widget> 32 <number>0</number>
33 </item> 33 </property>
34 <item> 34 <property name="rightMargin">
35 <widget class="QComboBox" name="gpu_accuracy"> 35 <number>0</number>
36 <item> 36 </property>
37 <property name="bottomMargin">
38 <number>0</number>
39 </property>
40 <item>
41 <widget class="QLabel" name="label_gpu_accuracy">
37 <property name="text"> 42 <property name="text">
38 <string notr="true">Normal</string> 43 <string>Accuracy Level:</string>
39 </property> 44 </property>
40 </item> 45 </widget>
41 <item> 46 </item>
42 <property name="text"> 47 <item>
43 <string notr="true">High</string> 48 <widget class="QComboBox" name="gpu_accuracy">
44 </property> 49 <item>
45 </item> 50 <property name="text">
46 <item> 51 <string notr="true">Normal</string>
47 <property name="text"> 52 </property>
48 <string notr="true">Extreme(very slow)</string> 53 </item>
49 </property> 54 <item>
50 </item> 55 <property name="text">
51 </widget> 56 <string notr="true">High</string>
52 </item> 57 </property>
53 </layout> 58 </item>
59 <item>
60 <property name="text">
61 <string notr="true">Extreme(very slow)</string>
62 </property>
63 </item>
64 </widget>
65 </item>
66 </layout>
67 </widget>
54 </item> 68 </item>
55 <item> 69 <item>
56 <widget class="QCheckBox" name="use_vsync"> 70 <widget class="QCheckBox" name="use_vsync">
@@ -97,44 +111,58 @@
97 </widget> 111 </widget>
98 </item> 112 </item>
99 <item> 113 <item>
100 <layout class="QHBoxLayout" name="horizontalLayout_1"> 114 <widget class="QWidget" name="af_layout" native="true">
101 <item> 115 <layout class="QHBoxLayout" name="horizontalLayout_1">
102 <widget class="QLabel" name="af_label"> 116 <property name="leftMargin">
103 <property name="text"> 117 <number>0</number>
104 <string>Anisotropic Filtering:</string> 118 </property>
105 </property> 119 <property name="topMargin">
106 </widget> 120 <number>0</number>
107 </item> 121 </property>
108 <item> 122 <property name="rightMargin">
109 <widget class="QComboBox" name="anisotropic_filtering_combobox"> 123 <number>0</number>
110 <item> 124 </property>
111 <property name="text"> 125 <property name="bottomMargin">
112 <string>Default</string> 126 <number>0</number>
113 </property> 127 </property>
114 </item> 128 <item>
115 <item> 129 <widget class="QLabel" name="af_label">
116 <property name="text"> 130 <property name="text">
117 <string>2x</string> 131 <string>Anisotropic Filtering:</string>
118 </property> 132 </property>
119 </item> 133 </widget>
120 <item> 134 </item>
121 <property name="text"> 135 <item>
122 <string>4x</string> 136 <widget class="QComboBox" name="anisotropic_filtering_combobox">
123 </property> 137 <item>
124 </item> 138 <property name="text">
125 <item> 139 <string>Default</string>
126 <property name="text"> 140 </property>
127 <string>8x</string> 141 </item>
128 </property> 142 <item>
129 </item> 143 <property name="text">
130 <item> 144 <string>2x</string>
131 <property name="text"> 145 </property>
132 <string>16x</string> 146 </item>
133 </property> 147 <item>
134 </item> 148 <property name="text">
135 </widget> 149 <string>4x</string>
136 </item> 150 </property>
137 </layout> 151 </item>
152 <item>
153 <property name="text">
154 <string>8x</string>
155 </property>
156 </item>
157 <item>
158 <property name="text">
159 <string>16x</string>
160 </property>
161 </item>
162 </widget>
163 </item>
164 </layout>
165 </widget>
138 </item> 166 </item>
139 </layout> 167 </layout>
140 </widget> 168 </widget>