diff options
| author | 2023-05-07 13:28:52 -0400 | |
|---|---|---|
| committer | 2023-07-21 10:56:07 -0400 | |
| commit | cfb63c68dbdc2c8add45cddb2cedf371059af6c4 (patch) | |
| tree | 94cc37ced96d67d10a01c32d6d2ed7f7f50ba2a1 | |
| parent | settings,uisettings: Add IDs to settings (diff) | |
| download | yuzu-cfb63c68dbdc2c8add45cddb2cedf371059af6c4.tar.gz yuzu-cfb63c68dbdc2c8add45cddb2cedf371059af6c4.tar.xz yuzu-cfb63c68dbdc2c8add45cddb2cedf371059af6c4.zip | |
shared_translation: Finish using int ids
| -rw-r--r-- | src/common/settings.h | 4 | ||||
| -rw-r--r-- | src/yuzu/configuration/configuration_shared.cpp | 6 | ||||
| -rw-r--r-- | src/yuzu/configuration/configure_graphics.cpp | 25 | ||||
| -rw-r--r-- | src/yuzu/configuration/configure_graphics_advanced.cpp | 2 | ||||
| -rw-r--r-- | src/yuzu/configuration/shared_translation.cpp | 236 | ||||
| -rw-r--r-- | src/yuzu/configuration/shared_translation.h | 2 |
6 files changed, 117 insertions, 158 deletions
diff --git a/src/common/settings.h b/src/common/settings.h index 69777421e..a90fc87a7 100644 --- a/src/common/settings.h +++ b/src/common/settings.h | |||
| @@ -191,7 +191,7 @@ public: | |||
| 191 | virtual bool IsEnum() const = 0; | 191 | virtual bool IsEnum() const = 0; |
| 192 | virtual bool RuntimeModfiable() const = 0; | 192 | virtual bool RuntimeModfiable() const = 0; |
| 193 | virtual void SetGlobal(bool global) {} | 193 | virtual void SetGlobal(bool global) {} |
| 194 | virtual u32 Id() const = 0; | 194 | virtual constexpr u32 Id() const = 0; |
| 195 | virtual bool UsingGlobal() const { | 195 | virtual bool UsingGlobal() const { |
| 196 | return false; | 196 | return false; |
| 197 | } | 197 | } |
| @@ -423,7 +423,7 @@ public: | |||
| 423 | return std::type_index(typeid(Type)); | 423 | return std::type_index(typeid(Type)); |
| 424 | } | 424 | } |
| 425 | 425 | ||
| 426 | virtual u32 Id() const override { | 426 | virtual constexpr u32 Id() const override { |
| 427 | return id; | 427 | return id; |
| 428 | } | 428 | } |
| 429 | 429 | ||
diff --git a/src/yuzu/configuration/configuration_shared.cpp b/src/yuzu/configuration/configuration_shared.cpp index 575d239eb..54fbce53a 100644 --- a/src/yuzu/configuration/configuration_shared.cpp +++ b/src/yuzu/configuration/configuration_shared.cpp | |||
| @@ -136,6 +136,7 @@ std::pair<QWidget*, void*> CreateWidget(Settings::BasicSetting* setting, | |||
| 136 | std::forward_list<std::function<void(bool)>>& apply_funcs, | 136 | std::forward_list<std::function<void(bool)>>& apply_funcs, |
| 137 | std::list<CheckState>& trackers, RequestType request) { | 137 | std::list<CheckState>& trackers, RequestType request) { |
| 138 | const auto type = setting->TypeId(); | 138 | const auto type = setting->TypeId(); |
| 139 | const int id = setting->Id(); | ||
| 139 | QWidget* widget{nullptr}; | 140 | QWidget* widget{nullptr}; |
| 140 | void* extra{nullptr}; | 141 | void* extra{nullptr}; |
| 141 | 142 | ||
| @@ -143,9 +144,8 @@ std::pair<QWidget*, void*> CreateWidget(Settings::BasicSetting* setting, | |||
| 143 | 144 | ||
| 144 | const auto [label, tooltip] = [&]() { | 145 | const auto [label, tooltip] = [&]() { |
| 145 | const auto& setting_label = setting->GetLabel(); | 146 | const auto& setting_label = setting->GetLabel(); |
| 146 | if (translations.contains(setting_label)) { | 147 | if (translations.contains(id)) { |
| 147 | return std::pair{translations.at(setting_label).first, | 148 | return std::pair{translations.at(id).first, translations.at(id).second}; |
| 148 | translations.at(setting_label).second}; | ||
| 149 | } | 149 | } |
| 150 | LOG_ERROR(Frontend, "Translation table lacks entry for \"{}\"", setting_label); | 150 | LOG_ERROR(Frontend, "Translation table lacks entry for \"{}\"", setting_label); |
| 151 | return std::pair{QString::fromStdString(setting_label), QStringLiteral("")}; | 151 | return std::pair{QString::fromStdString(setting_label), QStringLiteral("")}; |
diff --git a/src/yuzu/configuration/configure_graphics.cpp b/src/yuzu/configuration/configure_graphics.cpp index 8128a4047..d8e95b9b1 100644 --- a/src/yuzu/configuration/configure_graphics.cpp +++ b/src/yuzu/configuration/configure_graphics.cpp | |||
| @@ -214,13 +214,13 @@ void ConfigureGraphics::SetConfiguration() { | |||
| 214 | QLayout& api_layout = *ui->api_widget->layout(); | 214 | QLayout& api_layout = *ui->api_widget->layout(); |
| 215 | QLayout& graphics_layout = *ui->graphics_widget->layout(); | 215 | QLayout& graphics_layout = *ui->graphics_widget->layout(); |
| 216 | 216 | ||
| 217 | std::map<std::string, QWidget*> hold_graphics; | 217 | std::map<bool, std::map<std::string, QWidget*>> hold_graphics; |
| 218 | 218 | ||
| 219 | for (const auto setting : Settings::values.linkage.by_category[Settings::Category::Renderer]) { | 219 | for (const auto setting : Settings::values.linkage.by_category[Settings::Category::Renderer]) { |
| 220 | const auto& setting_label = setting->GetLabel(); | 220 | const auto& setting_label = setting->GetLabel(); |
| 221 | 221 | ||
| 222 | auto [widget, extra] = [&]() { | 222 | auto [widget, extra] = [&]() { |
| 223 | if (setting_label == "vulkan_device") { | 223 | if (setting->Id() == Settings::values.vulkan_device.Id()) { |
| 224 | return ConfigurationShared::CreateWidget( | 224 | return ConfigurationShared::CreateWidget( |
| 225 | setting, translations, this, runtime_lock, apply_funcs, trackers, | 225 | setting, translations, this, runtime_lock, apply_funcs, trackers, |
| 226 | ConfigurationShared::RequestType::ComboBox); | 226 | ConfigurationShared::RequestType::ComboBox); |
| @@ -233,28 +233,29 @@ void ConfigureGraphics::SetConfiguration() { | |||
| 233 | continue; | 233 | continue; |
| 234 | } | 234 | } |
| 235 | 235 | ||
| 236 | if (setting_label == "backend") { | 236 | if (setting->Id() == Settings::values.vulkan_device.Id()) { |
| 237 | api_layout.addWidget(widget); | 237 | api_layout.addWidget(widget); |
| 238 | api_combobox = reinterpret_cast<QComboBox*>(extra); | 238 | api_combobox = reinterpret_cast<QComboBox*>(extra); |
| 239 | } else if (setting_label == "vulkan_device") { | 239 | } else if (setting->Id() == Settings::values.vulkan_device.Id()) { |
| 240 | api_layout.addWidget(widget); | 240 | api_layout.addWidget(widget); |
| 241 | vulkan_device_combobox = reinterpret_cast<QComboBox*>(extra); | 241 | vulkan_device_combobox = reinterpret_cast<QComboBox*>(extra); |
| 242 | vulkan_device_widget = widget; | 242 | vulkan_device_widget = widget; |
| 243 | } else if (setting_label == "shader_backend") { | 243 | } else if (setting->Id() == Settings::values.shader_backend.Id()) { |
| 244 | api_layout.addWidget(widget); | 244 | api_layout.addWidget(widget); |
| 245 | shader_backend_combobox = reinterpret_cast<QComboBox*>(extra); | 245 | shader_backend_combobox = reinterpret_cast<QComboBox*>(extra); |
| 246 | shader_backend_widget = widget; | 246 | shader_backend_widget = widget; |
| 247 | } else { | 247 | } else if (setting->Id() == Settings::values.vsync_mode.Id()) { |
| 248 | hold_graphics.insert(std::pair(setting_label, widget)); | ||
| 249 | } | ||
| 250 | |||
| 251 | if (setting_label == "use_vsync") { | ||
| 252 | vsync_mode_combobox = reinterpret_cast<QComboBox*>(extra); | 248 | vsync_mode_combobox = reinterpret_cast<QComboBox*>(extra); |
| 249 | hold_graphics[setting->IsEnum()][setting_label] = widget; | ||
| 250 | } else { | ||
| 251 | hold_graphics[setting->IsEnum()][setting_label] = widget; | ||
| 253 | } | 252 | } |
| 254 | } | 253 | } |
| 255 | 254 | ||
| 256 | for (const auto& [label, widget] : hold_graphics) { | 255 | for (const auto& [_, settings] : hold_graphics) { |
| 257 | graphics_layout.addWidget(widget); | 256 | for (const auto& [label, widget] : settings) { |
| 257 | graphics_layout.addWidget(widget); | ||
| 258 | } | ||
| 258 | } | 259 | } |
| 259 | 260 | ||
| 260 | // ui->api_widget->setEnabled(runtime_lock); | 261 | // ui->api_widget->setEnabled(runtime_lock); |
diff --git a/src/yuzu/configuration/configure_graphics_advanced.cpp b/src/yuzu/configuration/configure_graphics_advanced.cpp index 8a9495109..3a207e2cd 100644 --- a/src/yuzu/configuration/configure_graphics_advanced.cpp +++ b/src/yuzu/configuration/configure_graphics_advanced.cpp | |||
| @@ -45,7 +45,7 @@ void ConfigureGraphicsAdvanced::SetConfiguration() { | |||
| 45 | layout.addWidget(widget); | 45 | layout.addWidget(widget); |
| 46 | } | 46 | } |
| 47 | 47 | ||
| 48 | if (setting->GetLabel() == "enable_compute_pipelines") { | 48 | if (setting->Id() == Settings::values.enable_compute_pipelines.Id()) { |
| 49 | checkbox_enable_compute_pipelines = widget; | 49 | checkbox_enable_compute_pipelines = widget; |
| 50 | } | 50 | } |
| 51 | } | 51 | } |
diff --git a/src/yuzu/configuration/shared_translation.cpp b/src/yuzu/configuration/shared_translation.cpp index 73c3086ae..181dd7cf0 100644 --- a/src/yuzu/configuration/shared_translation.cpp +++ b/src/yuzu/configuration/shared_translation.cpp | |||
| @@ -18,196 +18,111 @@ std::unique_ptr<TranslationMap> InitializeTranslations(QWidget* parent) { | |||
| 18 | std::unique_ptr<TranslationMap> translations = std::make_unique<TranslationMap>(); | 18 | std::unique_ptr<TranslationMap> translations = std::make_unique<TranslationMap>(); |
| 19 | const auto& tr = [parent](const char* text) -> QString { return parent->tr(text); }; | 19 | const auto& tr = [parent](const char* text) -> QString { return parent->tr(text); }; |
| 20 | 20 | ||
| 21 | #define INSERT(LABEL, NAME, TOOLTIP) \ | 21 | #define INSERT(ID, NAME, TOOLTIP) \ |
| 22 | translations->insert(std::pair{(LABEL), std::pair{tr((NAME)), tr((TOOLTIP))}}) | 22 | translations->insert(std::pair{Settings::values.ID.Id(), std::pair{tr((NAME)), tr((TOOLTIP))}}) |
| 23 | 23 | ||
| 24 | // A setting can be ignored by giving it a blank name | 24 | // A setting can be ignored by giving it a blank name |
| 25 | 25 | ||
| 26 | // Audio | 26 | // Audio |
| 27 | INSERT("output_engine", "Output Engine:", ""); | 27 | INSERT(sink_id, "Output Engine:", ""); |
| 28 | INSERT("output_device", "Output Device:", ""); | 28 | INSERT(audio_output_device_id, "Output Device:", ""); |
| 29 | INSERT("input_device", "Input Device:", ""); | 29 | INSERT(audio_input_device_id, "Input Device:", ""); |
| 30 | INSERT("audio_muted", "Mute audio when in background", ""); | 30 | INSERT(audio_muted, "Mute audio when in background", ""); |
| 31 | INSERT("volume", "Volume:", ""); | 31 | INSERT(volume, "Volume:", ""); |
| 32 | 32 | ||
| 33 | // Core | 33 | // Core |
| 34 | INSERT("use_multi_core", "Multicore CPU Emulation", ""); | 34 | INSERT(use_multi_core, "Multicore CPU Emulation", ""); |
| 35 | INSERT("use_unsafe_extended_memory_layout", "Unsafe extended memory layout (8GB DRAM)", ""); | 35 | INSERT(use_unsafe_extended_memory_layout, "Unsafe extended memory layout (8GB DRAM)", ""); |
| 36 | 36 | ||
| 37 | // Cpu | 37 | // Cpu |
| 38 | INSERT("cpu_accuracy", "Accuracy:", ""); | 38 | INSERT(cpu_accuracy, "Accuracy:", ""); |
| 39 | INSERT("cpu_accuracy_first_time", "", ""); | 39 | INSERT(cpu_accuracy_first_time, "", ""); |
| 40 | 40 | ||
| 41 | // Cpu Debug | 41 | // Cpu Debug |
| 42 | INSERT("cpu_debug_mode", "Enable CPU Debugging", ""); | ||
| 43 | INSERT("cpuopt_page_tables", "Enable inline page tables", ""); | ||
| 44 | INSERT("cpuopt_block_linking", "Enable block linking", ""); | ||
| 45 | INSERT("cpuopt_return_stack_buffer", "Enable return stack buffer", ""); | ||
| 46 | INSERT("cpuopt_fast_dispatcher", "Enable fast dispatcher", ""); | ||
| 47 | INSERT("cpuopt_context_elimination", "Enable context elimination", ""); | ||
| 48 | INSERT("cpuopt_const_prop", "Enable constant propagation", ""); | ||
| 49 | INSERT("cpuopt_misc_ir", "Enable miscellaneous optimizations", ""); | ||
| 50 | INSERT("cpuopt_reduce_misalign_checks", "Enable misalignment check reduction", ""); | ||
| 51 | INSERT("cpuopt_fastmem", "Enable Host MMU Emulation (general memory instructions)", ""); | ||
| 52 | INSERT("cpuopt_fastmem_exclusives", "Enable Host MMU Emulation (exclusive memory instructions)", | ||
| 53 | ""); | ||
| 54 | INSERT("cpuopt_recompile_exclusives", "Enable recompilation of exlucsive memory instructions", | ||
| 55 | ""); | ||
| 56 | INSERT("cpuopt_ignore_memory_aborts", "Enable fallbacks for invalid memory accesses", ""); | ||
| 57 | 42 | ||
| 58 | // Cpu Unsafe | 43 | // Cpu Unsafe |
| 59 | INSERT("cpuopt_unsafe_unfuse_fma", "Unfuse FMA (improve performance on CPUs without FMA)", ""); | 44 | INSERT(cpuopt_unsafe_unfuse_fma, "Unfuse FMA (improve performance on CPUs without FMA)", ""); |
| 60 | INSERT("cpuopt_unsafe_reduce_fp_error", "Faster FRSQRTE and FRECPE", ""); | 45 | INSERT(cpuopt_unsafe_reduce_fp_error, "Faster FRSQRTE and FRECPE", ""); |
| 61 | INSERT("cpuopt_unsafe_ignore_standard_fpcr", "Faster ASIMD instructions (32 bits only)", ""); | 46 | INSERT(cpuopt_unsafe_ignore_standard_fpcr, "Faster ASIMD instructions (32 bits only)", ""); |
| 62 | INSERT("cpuopt_unsafe_inaccurate_nan", "Inaccurate NaN handling", ""); | 47 | INSERT(cpuopt_unsafe_inaccurate_nan, "Inaccurate NaN handling", ""); |
| 63 | INSERT("cpuopt_unsafe_fastmem_check", "Disable address space checks", ""); | 48 | INSERT(cpuopt_unsafe_fastmem_check, "Disable address space checks", ""); |
| 64 | INSERT("cpuopt_unsafe_ignore_global_monitor", "Ignore global monitor", ""); | 49 | INSERT(cpuopt_unsafe_ignore_global_monitor, "Ignore global monitor", ""); |
| 65 | 50 | ||
| 66 | // Renderer | 51 | // Renderer |
| 67 | INSERT("backend", "API:", ""); | 52 | INSERT(renderer_backend, "API:", ""); |
| 68 | INSERT("vulkan_device", "Device:", ""); | 53 | INSERT(vulkan_device, "Device:", ""); |
| 69 | INSERT("shader_backend", "Shader Backend:", ""); | 54 | INSERT(shader_backend, "Shader Backend:", ""); |
| 70 | INSERT("resolution_setup", "Resolution:", ""); | 55 | INSERT(resolution_setup, "Resolution:", ""); |
| 71 | INSERT("scaling_filter", "Window Adapting Filter:", ""); | 56 | INSERT(scaling_filter, "Window Adapting Filter:", ""); |
| 72 | INSERT("fsr_sharpening_slider", "AMD FidelityFX™ Super Resolution Sharpness:", ""); | 57 | INSERT(fsr_sharpening_slider, "AMD FidelityFX™ Super Resolution Sharpness:", ""); |
| 73 | INSERT("anti_aliasing", "Anti-Aliasing Method:", ""); | 58 | INSERT(anti_aliasing, "Anti-Aliasing Method:", ""); |
| 74 | INSERT("fullscreen_mode", "Fullscreen Mode:", ""); | 59 | INSERT(fullscreen_mode, "Fullscreen Mode:", ""); |
| 75 | INSERT("aspect_ratio", "Aspect Ratio:", ""); | 60 | INSERT(aspect_ratio, "Aspect Ratio:", ""); |
| 76 | INSERT("use_disk_shader_cache", "Use disk pipeline cache", ""); | 61 | INSERT(use_disk_shader_cache, "Use disk pipeline cache", ""); |
| 77 | INSERT("use_asynchronous_gpu_emulation", "Use asynchronous GPU emulation", ""); | 62 | INSERT(use_asynchronous_gpu_emulation, "Use asynchronous GPU emulation", ""); |
| 78 | INSERT("nvdec_emulation", "NVDEC emulation:", ""); | 63 | INSERT(nvdec_emulation, "NVDEC emulation:", ""); |
| 79 | INSERT("accelerate_astc", "ASTC Decoding Method:", ""); | 64 | INSERT(accelerate_astc, "ASTC Decoding Method:", ""); |
| 80 | INSERT( | 65 | INSERT( |
| 81 | "use_vsync", "VSync Mode:", | 66 | vsync_mode, "VSync Mode:", |
| 82 | "FIFO (VSync) does not drop frames or exhibit tearing but is limited by the screen refresh " | 67 | "FIFO (VSync) does not drop frames or exhibit tearing but is limited by the screen refresh " |
| 83 | "rate. FIFO Relaxed is similar to FIFO but allows tearing as it recovers from a slow down. " | 68 | "rate. FIFO Relaxed is similar to FIFO but allows tearing as it recovers from a slow down. " |
| 84 | "Mailbox can have lower latency than FIFO and does not tear but may drop frames. Immediate " | 69 | "Mailbox can have lower latency than FIFO and does not tear but may drop frames. Immediate " |
| 85 | "(no synchronization) just presents whatever is available and can exhibit tearing."); | 70 | "(no synchronization) just presents whatever is available and can exhibit tearing."); |
| 86 | INSERT("bg_red", "", ""); | 71 | INSERT(bg_red, "", ""); |
| 87 | INSERT("bg_green", "", ""); | 72 | INSERT(bg_green, "", ""); |
| 88 | INSERT("bg_blue", "", ""); | 73 | INSERT(bg_blue, "", ""); |
| 89 | 74 | ||
| 90 | // Renderer (Advanced Graphics) | 75 | // Renderer (Advanced Graphics) |
| 91 | INSERT("async_presentation", "Enable asynchronous presentation (Vulkan only)", ""); | 76 | INSERT(async_presentation, "Enable asynchronous presentation (Vulkan only)", ""); |
| 92 | INSERT("force_max_clock", "Force maximum clocks (Vulkan only)", | 77 | INSERT(renderer_force_max_clock, "Force maximum clocks (Vulkan only)", |
| 93 | "Runs work in the background while waiting for graphics commands to keep the GPU from " | 78 | "Runs work in the background while waiting for graphics commands to keep the GPU from " |
| 94 | "lowering its clock speed."); | 79 | "lowering its clock speed."); |
| 95 | INSERT("max_anisotropy", "Anisotropic Filtering:", ""); | 80 | INSERT(max_anisotropy, "Anisotropic Filtering:", ""); |
| 96 | INSERT("gpu_accuracy", "Accuracy Level:", ""); | 81 | INSERT(gpu_accuracy, "Accuracy Level:", ""); |
| 97 | INSERT("use_asynchronous_shaders", "Use asynchronous shader building (Hack)", | 82 | INSERT(use_asynchronous_shaders, "Use asynchronous shader building (Hack)", |
| 98 | "Enables asynchronous shader compilation, which may reduce shader stutter. This feature " | 83 | "Enables asynchronous shader compilation, which may reduce shader stutter. This feature " |
| 99 | "is experimental."); | 84 | "is experimental."); |
| 100 | INSERT("use_fast_gpu_time", "Use Fast GPU Time (Hack)", | 85 | INSERT(use_fast_gpu_time, "Use Fast GPU Time (Hack)", |
| 101 | "Enables Fast GPU Time. This option will force most games to run at their highest " | 86 | "Enables Fast GPU Time. This option will force most games to run at their highest " |
| 102 | "native resolution."); | 87 | "native resolution."); |
| 103 | INSERT("use_vulkan_driver_pipeline_cache", "Use Vulkan pipeline cache", | 88 | INSERT(use_vulkan_driver_pipeline_cache, "Use Vulkan pipeline cache", |
| 104 | "Enables GPU vendor-specific pipeline cache. This option can improve shader loading " | 89 | "Enables GPU vendor-specific pipeline cache. This option can improve shader loading " |
| 105 | "time significantly in cases where the Vulkan driver does not store pipeline cache " | 90 | "time significantly in cases where the Vulkan driver does not store pipeline cache " |
| 106 | "files internally."); | 91 | "files internally."); |
| 107 | INSERT("enable_compute_pipelines", "Enable Compute Pipelines (Intel Vulkan Only)", | 92 | INSERT(enable_compute_pipelines, "Enable Compute Pipelines (Intel Vulkan Only)", |
| 108 | "Enable compute pipelines, required by some games.\nThis setting only exists for Intel " | 93 | "Enable compute pipelines, required by some games.\nThis setting only exists for Intel " |
| 109 | "proprietary drivers, and may crash if enabled.\nCompute pipelines are always enabled " | 94 | "proprietary drivers, and may crash if enabled.\nCompute pipelines are always enabled " |
| 110 | "on all other drivers."); | 95 | "on all other drivers."); |
| 111 | 96 | ||
| 112 | // Renderer (Debug) | 97 | // Renderer (Debug) |
| 113 | INSERT("debug", "Enable Graphics Debugging", | ||
| 114 | "When checked, the graphics API enters a slower debugging mode"); | ||
| 115 | INSERT("shader_feedback", "Enable Shader Feedback", | ||
| 116 | "When checked, yuzu will log statistics about the compiled pipeline cache"); | ||
| 117 | INSERT("nsight_aftermath", "Enable Nsight Aftermath", | ||
| 118 | "When checked, it enables Nsight Aftermath crash dumps"); | ||
| 119 | INSERT("disable_shader_loop_safety_checks", "Disable Loop safety checks", | ||
| 120 | "When checked, it executes shaders without loop logic changes"); | ||
| 121 | 98 | ||
| 122 | // Renderer (General) | 99 | // Renderer (General) |
| 123 | INSERT("use_speed_limit", "Limit Speed Percent", ""); | 100 | INSERT(use_speed_limit, "Limit Speed Percent", ""); |
| 124 | INSERT("speed_limit", "Limit Speed Percent", ""); | 101 | INSERT(speed_limit, "Limit Speed Percent", ""); |
| 125 | 102 | ||
| 126 | // System | 103 | // System |
| 127 | INSERT("rng_seed_enabled", "RNG Seed", ""); | 104 | INSERT(rng_seed_enabled, "RNG Seed", ""); |
| 128 | INSERT("rng_seed", "RNG Seed", ""); | 105 | INSERT(rng_seed, "RNG Seed", ""); |
| 129 | INSERT("device_name", "Device Name", ""); | 106 | INSERT(device_name, "Device Name", ""); |
| 130 | INSERT("custom_rtc_enabled", "Custom RTC", ""); | 107 | INSERT(custom_rtc_enabled, "Custom RTC", ""); |
| 131 | INSERT("custom_rtc", "Custom RTC", ""); | 108 | INSERT(custom_rtc, "Custom RTC", ""); |
| 132 | INSERT("language_index", "Language:", ""); | 109 | INSERT(language_index, "Language:", ""); |
| 133 | INSERT("region_index", "Region:", ""); | 110 | INSERT(region_index, "Region:", ""); |
| 134 | INSERT("time_zone_index", "Time Zone:", ""); | 111 | INSERT(time_zone_index, "Time Zone:", ""); |
| 135 | INSERT("sound_index", "Sound Output Mode:", ""); | 112 | INSERT(sound_index, "Sound Output Mode:", ""); |
| 136 | INSERT("use_docked_mode", "", ""); | 113 | INSERT(use_docked_mode, "", ""); |
| 137 | 114 | ||
| 138 | // Controls | 115 | // Controls |
| 139 | INSERT("enable_raw_input", "", ""); | ||
| 140 | INSERT("controller_navigation", "", ""); | ||
| 141 | INSERT("enable_joycon_driver", "", ""); | ||
| 142 | INSERT("enable_procon_driver", "", ""); | ||
| 143 | INSERT("vibration_enabled", "", ""); | ||
| 144 | INSERT("enable_accurate_vibrations", "", ""); | ||
| 145 | INSERT("motion_enabled", "", ""); | ||
| 146 | INSERT("udp_input_servers", "", ""); | ||
| 147 | INSERT("enable_udp_controller", "", ""); | ||
| 148 | INSERT("pause_tas_on_load", "", ""); | ||
| 149 | INSERT("tas_enable", "", ""); | ||
| 150 | INSERT("tas_loop", "", ""); | ||
| 151 | INSERT("mouse_panning", "", ""); | ||
| 152 | INSERT("mouse_panning_sensitivity", "", ""); | ||
| 153 | INSERT("mouse_enabled", "", ""); | ||
| 154 | INSERT("emulate_analog_keyboard", "", ""); | ||
| 155 | INSERT("keyboard_enabled", "", ""); | ||
| 156 | INSERT("debug_pad_enabled", "", ""); | ||
| 157 | INSERT("touch_device", "", ""); | ||
| 158 | INSERT("touch_from_button_map", "", ""); | ||
| 159 | INSERT("enable_ring_controller", "", ""); | ||
| 160 | INSERT("enable_ir_sensor", "", ""); | ||
| 161 | INSERT("ir_sensor_device", "", ""); | ||
| 162 | 116 | ||
| 163 | // Data Storage | 117 | // Data Storage |
| 164 | INSERT("use_virtual_sd", "", ""); | ||
| 165 | INSERT("gamecard_inserted", "Inserted", ""); | ||
| 166 | INSERT("gamecard_current_game", "Current Game", ""); | ||
| 167 | INSERT("gamecard_path", "Path", ""); | ||
| 168 | 118 | ||
| 169 | // Debugging | 119 | // Debugging |
| 170 | INSERT("use_gdbstub", "Enable GDB Stub", ""); | ||
| 171 | INSERT("gdbstub_port", "Port:", ""); | ||
| 172 | INSERT("program_args", "Arguments String", ""); | ||
| 173 | INSERT("dump_exefs", "Dump ExeFS", ""); | ||
| 174 | INSERT("dump_nso", "Dump Decompressed NSOs", ""); | ||
| 175 | INSERT("enable_fs_access_log", "Enable FS Access Log", ""); | ||
| 176 | INSERT("reporting_services", "Enable Verbose Repoting Services**", ""); | ||
| 177 | INSERT("quest_flag", "Kiosk (Quest) Mode", ""); | ||
| 178 | INSERT("extended_logging", "Enable Extended Logging**", | ||
| 179 | "When checked, the max size of the log increases from 100 MB to 1 GB"); | ||
| 180 | INSERT("use_debug_asserts", "Enable Debug Asserts", ""); | ||
| 181 | INSERT("use_auto_stub", "Enable Auto-Stub**", ""); | ||
| 182 | INSERT("enable_all_controllers", "Enable All Controller Types", ""); | ||
| 183 | INSERT("create_crash_dumps", "Create Minidump After Crash", ""); | ||
| 184 | INSERT("perform_vulkan_check", "Perform Startup Vulkan Check", | ||
| 185 | "Enables yuzu to check for a working Vulkan environment when the program starts up. " | ||
| 186 | "Disable this if this is causing issues with external programs seeing yuzu."); | ||
| 187 | INSERT("log_filter", "Global Log Filter", ""); | ||
| 188 | INSERT("use_dev_keys", "", ""); | ||
| 189 | 120 | ||
| 190 | // Debugging Graphics | 121 | // Debugging Graphics |
| 191 | INSERT("dump_shaders", "Dump Game Shaders", | ||
| 192 | "When checked, it will dump all the original assembler shaders from the disk shader " | ||
| 193 | "cache or game as found"); | ||
| 194 | INSERT("disable_macro_jit", "Disable Macro JIT", | ||
| 195 | "When checked, it disables the macro Just In Time compiler. Enabling this makes games " | ||
| 196 | "run slower"); | ||
| 197 | INSERT( | ||
| 198 | "disable_macro_hle", "Disable Macro HLE", | ||
| 199 | "When checked, it disables the macro HLE functions. Enabling this makes games run slower"); | ||
| 200 | INSERT("dump_macros", "Dump Maxwell Macros", | ||
| 201 | "When checked, it will dump all the macro programs of the GPU"); | ||
| 202 | 122 | ||
| 203 | // Network | 123 | // Network |
| 204 | INSERT("network_interface", "Network Interface", ""); | ||
| 205 | 124 | ||
| 206 | // Web Service | 125 | // Web Service |
| 207 | INSERT("enable_telemetry", "Share anonymous usage data with the yuzu team", ""); | ||
| 208 | INSERT("web_api_url", "", ""); | ||
| 209 | INSERT("yuzu_username", "", ""); | ||
| 210 | INSERT("yuzu_token", "Token:", ""); | ||
| 211 | 126 | ||
| 212 | #undef INSERT | 127 | #undef INSERT |
| 213 | 128 | ||
| @@ -241,6 +156,49 @@ std::forward_list<QString> ComboboxEnumeration(std::type_index type, QWidget* pa | |||
| 241 | tr("High"), | 156 | tr("High"), |
| 242 | tr("Extreme"), | 157 | tr("Extreme"), |
| 243 | }; | 158 | }; |
| 159 | } else if (type == typeid(Settings::CPUAccuracy)) { | ||
| 160 | return { | ||
| 161 | tr("Auto"), | ||
| 162 | tr("Accurate"), | ||
| 163 | tr("Unsafe"), | ||
| 164 | tr("Paranoid (disables most optimizations)"), | ||
| 165 | }; | ||
| 166 | } else if (type == typeid(Settings::FullscreenMode)) { | ||
| 167 | return { | ||
| 168 | tr("Borderless Windowed"), | ||
| 169 | tr("Exclusive Fullscreen"), | ||
| 170 | }; | ||
| 171 | } else if (type == typeid(Settings::NvdecEmulation)) { | ||
| 172 | return { | ||
| 173 | tr("No Video Output"), | ||
| 174 | tr("CPU Video Decoding"), | ||
| 175 | tr("GPU Video Decoding (Default)"), | ||
| 176 | }; | ||
| 177 | } else if (type == typeid(Settings::ResolutionSetup)) { | ||
| 178 | return { | ||
| 179 | tr("0.5X (360p/540p) [EXPERIMENTAL]"), | ||
| 180 | tr("0.75X (540p/810p) [EXPERIMENTAL]"), | ||
| 181 | tr("1X (720p/1080p)"), | ||
| 182 | tr("1.5X (1080p/1620p) [EXPERIMENTAL]"), | ||
| 183 | tr("2X (1440p/2160p)"), | ||
| 184 | tr("3X (2160p/3240p)"), | ||
| 185 | tr("4X (2880p/4320p)"), | ||
| 186 | tr("5X (3600p/5400p)"), | ||
| 187 | tr("6X (4320p/6480p)"), | ||
| 188 | tr("7X (5040p/7560p)"), | ||
| 189 | tr("8X (5760p/8640p)"), | ||
| 190 | }; | ||
| 191 | } else if (type == typeid(Settings::ScalingFilter)) { | ||
| 192 | return { | ||
| 193 | tr("Nearest Neighbor"), tr("Bilinear"), tr("Bicubic"), | ||
| 194 | tr("Gaussian"), tr("ScaleForce"), tr("AMD FidelityFX™️ Super Resolution"), | ||
| 195 | }; | ||
| 196 | } else if (type == typeid(Settings::AntiAliasing)) { | ||
| 197 | return { | ||
| 198 | tr("None"), | ||
| 199 | tr("FXAA"), | ||
| 200 | tr("SMAA"), | ||
| 201 | }; | ||
| 244 | } else if (type == typeid(Settings::AnisotropyMode)) { | 202 | } else if (type == typeid(Settings::AnisotropyMode)) { |
| 245 | return { | 203 | return { |
| 246 | tr("Automatic"), tr("Default"), tr("2x"), tr("4x"), tr("8x"), tr("16x"), | 204 | tr("Automatic"), tr("Default"), tr("2x"), tr("4x"), tr("8x"), tr("16x"), |
diff --git a/src/yuzu/configuration/shared_translation.h b/src/yuzu/configuration/shared_translation.h index 79cd08a6a..fcf638ea5 100644 --- a/src/yuzu/configuration/shared_translation.h +++ b/src/yuzu/configuration/shared_translation.h | |||
| @@ -12,7 +12,7 @@ | |||
| 12 | class QWidget; | 12 | class QWidget; |
| 13 | 13 | ||
| 14 | namespace ConfigurationShared { | 14 | namespace ConfigurationShared { |
| 15 | using TranslationMap = std::map<std::string, std::pair<QString, QString>>; | 15 | using TranslationMap = std::map<u32, std::pair<QString, QString>>; |
| 16 | 16 | ||
| 17 | std::unique_ptr<TranslationMap> InitializeTranslations(QWidget* parent); | 17 | std::unique_ptr<TranslationMap> InitializeTranslations(QWidget* parent); |
| 18 | 18 | ||