diff options
| author | 2020-07-13 21:37:02 -0400 | |
|---|---|---|
| committer | 2020-07-19 13:26:55 -0400 | |
| commit | 38152ab0b9678c16c3aa902ddeaad5d437c24237 (patch) | |
| tree | 8502f28918c89053449173c587a04cb9fc1ac51c /src | |
| parent | configuration_shared: Switch back to background colors (diff) | |
| download | yuzu-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.h | 1 | ||||
| -rw-r--r-- | src/yuzu/configuration/configure_graphics_advanced.cpp | 87 | ||||
| -rw-r--r-- | src/yuzu/configuration/configure_graphics_advanced.ui | 154 |
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> |