diff --git a/rpcs3/rpcs3.vcxproj b/rpcs3/rpcs3.vcxproj
index 0181ce8c84..2ab3e592bc 100644
--- a/rpcs3/rpcs3.vcxproj
+++ b/rpcs3/rpcs3.vcxproj
@@ -837,6 +837,7 @@
+
diff --git a/rpcs3/rpcs3.vcxproj.filters b/rpcs3/rpcs3.vcxproj.filters
index 793e695d77..8c5b6b2905 100644
--- a/rpcs3/rpcs3.vcxproj.filters
+++ b/rpcs3/rpcs3.vcxproj.filters
@@ -1299,6 +1299,9 @@
Gui\utils
+
+ Gui\settings
+
diff --git a/rpcs3/rpcs3qt/CMakeLists.txt b/rpcs3/rpcs3qt/CMakeLists.txt
index fdfb437fe7..0a63343e96 100644
--- a/rpcs3/rpcs3qt/CMakeLists.txt
+++ b/rpcs3/rpcs3qt/CMakeLists.txt
@@ -22,6 +22,7 @@ add_library(rpcs3_ui STATIC
dimensions_dialog.cpp
_discord_utils.cpp
emu_settings.cpp
+ emu_settings_type.cpp
elf_memory_dumping_dialog.cpp
emulated_pad_settings_dialog.cpp
emulated_logitech_g27_settings_dialog.cpp
diff --git a/rpcs3/rpcs3qt/emu_settings.cpp b/rpcs3/rpcs3qt/emu_settings.cpp
index a5bd055432..38fd5d2a94 100644
--- a/rpcs3/rpcs3qt/emu_settings.cpp
+++ b/rpcs3/rpcs3qt/emu_settings.cpp
@@ -1531,7 +1531,7 @@ QString emu_settings::GetLocalizedSetting(const QString& original, emu_settings_
std::string type_string;
if (const auto it = settings_location.find(type); it != settings_location.cend())
{
- for (const char* loc : it->second)
+ for (const std::string& loc : it->second)
{
if (!type_string.empty()) type_string += ": ";
type_string += loc;
diff --git a/rpcs3/rpcs3qt/emu_settings_type.cpp b/rpcs3/rpcs3qt/emu_settings_type.cpp
new file mode 100644
index 0000000000..4b032c78c5
--- /dev/null
+++ b/rpcs3/rpcs3qt/emu_settings_type.cpp
@@ -0,0 +1,240 @@
+#include "stdafx.h"
+#include "emu_settings_type.h"
+#include "Emu/system_config.h"
+
+const cfg_root local_cfg {}; // Local config to ensure we have an initialized object
+
+cfg_location get_cfg_location(const cfg::_base& leaf)
+{
+ cfg_location loc {};
+ loc.push_back(leaf.get_name());
+
+ for (const cfg::_base* node = leaf.get_parent(); node && !node->get_name().empty(); node = node->get_parent())
+ {
+ loc.push_front(node->get_name());
+ }
+
+ return loc;
+}
+
+const std::map settings_location =
+{
+ // Core Tab
+ { emu_settings_type::PPUDecoder, get_cfg_location(local_cfg.core.ppu_decoder) },
+ { emu_settings_type::SPUDecoder, get_cfg_location(local_cfg.core.spu_decoder) },
+ { emu_settings_type::HookStaticFuncs, get_cfg_location(local_cfg.core.hook_functions) },
+ { emu_settings_type::ThreadSchedulerMode, get_cfg_location(local_cfg.core.thread_scheduler) },
+ { emu_settings_type::SPULoopDetection, get_cfg_location(local_cfg.core.spu_loop_detection) },
+ { emu_settings_type::PreferredSPUThreads, get_cfg_location(local_cfg.core.preferred_spu_threads) },
+ { emu_settings_type::PPUDebug, get_cfg_location(local_cfg.core.ppu_debug) },
+ { emu_settings_type::SPUDebug, get_cfg_location(local_cfg.core.spu_debug) },
+ { emu_settings_type::MFCDebug, get_cfg_location(local_cfg.core.mfc_debug) },
+ { emu_settings_type::MaxLLVMThreads, get_cfg_location(local_cfg.core.llvm_threads) },
+ { emu_settings_type::LLVMPrecompilation, get_cfg_location(local_cfg.core.llvm_precompilation) },
+ { emu_settings_type::AccurateSpuDMA, get_cfg_location(local_cfg.core.spu_accurate_dma) },
+ { emu_settings_type::AccurateClineStores, get_cfg_location(local_cfg.core.accurate_cache_line_stores) },
+ { emu_settings_type::AccurateRSXAccess, get_cfg_location(local_cfg.core.rsx_accurate_res_access) },
+ { emu_settings_type::FIFOAccuracy, get_cfg_location(local_cfg.core.rsx_fifo_accuracy) },
+ { emu_settings_type::XFloatAccuracy, get_cfg_location(local_cfg.core.spu_xfloat_accuracy) },
+ { emu_settings_type::MFCCommandsShuffling, get_cfg_location(local_cfg.core.mfc_transfers_shuffling) },
+ { emu_settings_type::SetDAZandFTZ, get_cfg_location(local_cfg.core.set_daz_and_ftz) },
+ { emu_settings_type::SPUBlockSize, get_cfg_location(local_cfg.core.spu_block_size) },
+ { emu_settings_type::SPUCache, get_cfg_location(local_cfg.core.spu_cache) },
+ { emu_settings_type::DebugConsoleMode, get_cfg_location(local_cfg.core.debug_console_mode) },
+ { emu_settings_type::MaxSPURSThreads, get_cfg_location(local_cfg.core.max_spurs_threads) },
+ { emu_settings_type::SleepTimersAccuracy, get_cfg_location(local_cfg.core.sleep_timers_accuracy) },
+ { emu_settings_type::ClocksScale, get_cfg_location(local_cfg.core.clocks_scale) },
+ { emu_settings_type::AccuratePPU128Loop, get_cfg_location(local_cfg.core.ppu_128_reservations_loop_max_length) },
+ { emu_settings_type::PerformanceReport, get_cfg_location(local_cfg.core.perf_report) },
+ { emu_settings_type::NumPPUThreads, get_cfg_location(local_cfg.core.ppu_threads) },
+ { emu_settings_type::PPUNJFixup, get_cfg_location(local_cfg.core.ppu_llvm_nj_fixup) },
+ { emu_settings_type::PPUVNANFixup, get_cfg_location(local_cfg.core.ppu_fix_vnan) },
+ { emu_settings_type::AccurateDFMA, get_cfg_location(local_cfg.core.use_accurate_dfma) },
+ { emu_settings_type::AccuratePPUSAT, get_cfg_location(local_cfg.core.ppu_set_sat_bit) },
+ { emu_settings_type::AccuratePPUNJ, get_cfg_location(local_cfg.core.ppu_use_nj_bit) },
+ { emu_settings_type::AccuratePPUVNAN, get_cfg_location(local_cfg.core.ppu_set_vnan) },
+ { emu_settings_type::AccuratePPUFPCC, get_cfg_location(local_cfg.core.ppu_set_fpcc) },
+ { emu_settings_type::MaxPreemptCount, get_cfg_location(local_cfg.core.max_cpu_preempt_count_per_frame) },
+ { emu_settings_type::SPUProfiler, get_cfg_location(local_cfg.core.spu_prof) },
+ { emu_settings_type::DisableSpinOptimization, get_cfg_location(local_cfg.core.spu_getllar_spin_optimization_disabled) },
+ { emu_settings_type::EnabledSPUEventsBusyLoop, get_cfg_location(local_cfg.core.spu_reservation_busy_waiting_enabled) },
+
+ // Graphics Tab
+ { emu_settings_type::Renderer, get_cfg_location(local_cfg.video.renderer) },
+ { emu_settings_type::Resolution, get_cfg_location(local_cfg.video.resolution) },
+ { emu_settings_type::AspectRatio, get_cfg_location(local_cfg.video.aspect_ratio) },
+ { emu_settings_type::FrameLimit, get_cfg_location(local_cfg.video.frame_limit) },
+ { emu_settings_type::MSAA, get_cfg_location(local_cfg.video.antialiasing_level) },
+ { emu_settings_type::LogShaderPrograms, get_cfg_location(local_cfg.video.log_programs) },
+ { emu_settings_type::WriteDepthBuffer, get_cfg_location(local_cfg.video.write_depth_buffer) },
+ { emu_settings_type::WriteColorBuffers, get_cfg_location(local_cfg.video.write_color_buffers) },
+ { emu_settings_type::ReadColorBuffers, get_cfg_location(local_cfg.video.read_color_buffers) },
+ { emu_settings_type::ReadDepthBuffer, get_cfg_location(local_cfg.video.read_depth_buffer) },
+ { emu_settings_type::HandleRSXTiledMemory, get_cfg_location(local_cfg.video.handle_tiled_memory) },
+ { emu_settings_type::VSync, get_cfg_location(local_cfg.video.vsync) },
+ { emu_settings_type::DebugOutput, get_cfg_location(local_cfg.video.debug_output) },
+ { emu_settings_type::DebugOverlay, get_cfg_location(local_cfg.video.debug_overlay) },
+ { emu_settings_type::RenderdocCompatibility, get_cfg_location(local_cfg.video.renderdoc_compatiblity) },
+ { emu_settings_type::GPUTextureScaling, get_cfg_location(local_cfg.video.use_gpu_texture_scaling) },
+ { emu_settings_type::StretchToDisplayArea, get_cfg_location(local_cfg.video.stretch_to_display_area) },
+ { emu_settings_type::ForceHighpZ, get_cfg_location(local_cfg.video.force_high_precision_z_buffer) },
+ { emu_settings_type::StrictRenderingMode, get_cfg_location(local_cfg.video.strict_rendering_mode) },
+ { emu_settings_type::DisableVertexCache, get_cfg_location(local_cfg.video.disable_vertex_cache) },
+ { emu_settings_type::DisableOcclusionQueries, get_cfg_location(local_cfg.video.disable_zcull_queries) },
+ { emu_settings_type::DisableVideoOutput, get_cfg_location(local_cfg.video.disable_video_output) },
+ { emu_settings_type::DisableFIFOReordering, get_cfg_location(local_cfg.video.disable_FIFO_reordering) },
+ { emu_settings_type::StereoRenderEnabled, get_cfg_location(local_cfg.video.stereo_enabled) },
+ { emu_settings_type::StereoRenderMode, get_cfg_location(local_cfg.video.stereo_render_mode) },
+ { emu_settings_type::ScreenSize, get_cfg_location(local_cfg.video.screen_size) },
+ { emu_settings_type::StrictTextureFlushing, get_cfg_location(local_cfg.video.strict_texture_flushing) },
+ { emu_settings_type::ForceCPUBlitEmulation, get_cfg_location(local_cfg.video.force_cpu_blit_processing) },
+ { emu_settings_type::DisableOnDiskShaderCache, get_cfg_location(local_cfg.video.disable_on_disk_shader_cache) },
+ { emu_settings_type::DisableVulkanMemAllocator, get_cfg_location(local_cfg.video.disable_vulkan_mem_allocator) },
+ { emu_settings_type::ShaderMode, get_cfg_location(local_cfg.video.shadermode) },
+ { emu_settings_type::ShaderCompilerNumThreads, get_cfg_location(local_cfg.video.shader_compiler_threads_count) },
+ { emu_settings_type::ShaderPrecisionQuality, get_cfg_location(local_cfg.video.shader_precision) },
+ { emu_settings_type::MultithreadedRSX, get_cfg_location(local_cfg.video.multithreaded_rsx) },
+ { emu_settings_type::RelaxedZCULL, get_cfg_location(local_cfg.video.relaxed_zcull_sync) },
+ { emu_settings_type::PreciseZCULL, get_cfg_location(local_cfg.video.precise_zpass_count) },
+ { emu_settings_type::AnisotropicFilterOverride, get_cfg_location(local_cfg.video.anisotropic_level_override) },
+ { emu_settings_type::TextureLodBias, get_cfg_location(local_cfg.video.texture_lod_bias) },
+ { emu_settings_type::ResolutionScale, get_cfg_location(local_cfg.video.resolution_scale_percent) },
+ { emu_settings_type::MinimumScalableDimension, get_cfg_location(local_cfg.video.min_scalable_dimension) },
+ { emu_settings_type::VBlankRate, get_cfg_location(local_cfg.video.vblank_rate) },
+ { emu_settings_type::VBlankNTSCFixup, get_cfg_location(local_cfg.video.vblank_ntsc) },
+ { emu_settings_type::DriverWakeUpDelay, get_cfg_location(local_cfg.video.driver_wakeup_delay) },
+ { emu_settings_type::AllowHostGPULabels, get_cfg_location(local_cfg.video.host_label_synchronization) },
+ { emu_settings_type::DisableMSLFastMath, get_cfg_location(local_cfg.video.disable_msl_fast_math) },
+ { emu_settings_type::OutputScalingMode, get_cfg_location(local_cfg.video.output_scaling) },
+ { emu_settings_type::ForceHwMSAAResolve, get_cfg_location(local_cfg.video.force_hw_MSAA_resolve) },
+ { emu_settings_type::DisableAsyncHostMM, get_cfg_location(local_cfg.video.disable_async_host_memory_manager) },
+ { emu_settings_type::RecordWithOverlays, get_cfg_location(local_cfg.video.record_with_overlays) },
+ { emu_settings_type::DisableHWTexelRemapping, get_cfg_location(local_cfg.video.disable_hardware_texel_remapping) },
+ { emu_settings_type::FsrSharpeningStrength, get_cfg_location(local_cfg.video.rcas_sharpening_intensity) },
+
+ // Vulkan
+ { emu_settings_type::VulkanAdapter, get_cfg_location(local_cfg.video.vk.adapter) },
+ { emu_settings_type::VulkanAsyncTextureUploads, get_cfg_location(local_cfg.video.vk.asynchronous_texture_streaming) },
+ { emu_settings_type::VulkanAsyncSchedulerDriver, get_cfg_location(local_cfg.video.vk.asynchronous_scheduler) },
+ { emu_settings_type::ExclusiveFullscreenMode, get_cfg_location(local_cfg.video.vk.exclusive_fullscreen_mode) },
+ { emu_settings_type::UseReBAR, get_cfg_location(local_cfg.video.vk.use_rebar_upload_heap) },
+
+ // Performance Overlay
+ { emu_settings_type::PerfOverlayEnabled, get_cfg_location(local_cfg.video.perf_overlay.enabled) },
+ { emu_settings_type::PerfOverlayFramerateGraphEnabled, get_cfg_location(local_cfg.video.perf_overlay.framerate_graph_enabled) },
+ { emu_settings_type::PerfOverlayFrametimeGraphEnabled, get_cfg_location(local_cfg.video.perf_overlay.frametime_graph_enabled) },
+ { emu_settings_type::PerfOverlayFramerateDatapoints, get_cfg_location(local_cfg.video.perf_overlay.framerate_datapoint_count) },
+ { emu_settings_type::PerfOverlayFrametimeDatapoints, get_cfg_location(local_cfg.video.perf_overlay.frametime_datapoint_count) },
+ { emu_settings_type::PerfOverlayDetailLevel, get_cfg_location(local_cfg.video.perf_overlay.level) },
+ { emu_settings_type::PerfOverlayFramerateDetailLevel, get_cfg_location(local_cfg.video.perf_overlay.framerate_graph_detail_level) },
+ { emu_settings_type::PerfOverlayFrametimeDetailLevel, get_cfg_location(local_cfg.video.perf_overlay.frametime_graph_detail_level) },
+ { emu_settings_type::PerfOverlayPosition, get_cfg_location(local_cfg.video.perf_overlay.position) },
+ { emu_settings_type::PerfOverlayUpdateInterval, get_cfg_location(local_cfg.video.perf_overlay.update_interval) },
+ { emu_settings_type::PerfOverlayFontSize, get_cfg_location(local_cfg.video.perf_overlay.font_size) },
+ { emu_settings_type::PerfOverlayOpacity, get_cfg_location(local_cfg.video.perf_overlay.opacity) },
+ { emu_settings_type::PerfOverlayMarginX, get_cfg_location(local_cfg.video.perf_overlay.margin_x) },
+ { emu_settings_type::PerfOverlayMarginY, get_cfg_location(local_cfg.video.perf_overlay.margin_y) },
+ { emu_settings_type::PerfOverlayCenterX, get_cfg_location(local_cfg.video.perf_overlay.center_x) },
+ { emu_settings_type::PerfOverlayCenterY, get_cfg_location(local_cfg.video.perf_overlay.center_y) },
+ { emu_settings_type::PerfOverlayUseWindowSpace, get_cfg_location(local_cfg.video.perf_overlay.use_window_space) },
+
+ // Shader Loading Dialog
+ { emu_settings_type::ShaderLoadBgEnabled, get_cfg_location(local_cfg.video.shader_preloading_dialog.use_custom_background) },
+ { emu_settings_type::ShaderLoadBgDarkening, get_cfg_location(local_cfg.video.shader_preloading_dialog.darkening_strength) },
+ { emu_settings_type::ShaderLoadBgBlur, get_cfg_location(local_cfg.video.shader_preloading_dialog.blur_strength) },
+
+ // Audio
+ { emu_settings_type::AudioRenderer, get_cfg_location(local_cfg.audio.renderer) },
+ { emu_settings_type::DumpToFile, get_cfg_location(local_cfg.audio.dump_to_file) },
+ { emu_settings_type::ConvertTo16Bit, get_cfg_location(local_cfg.audio.convert_to_s16) },
+ { emu_settings_type::AudioFormat, get_cfg_location(local_cfg.audio.format) },
+ { emu_settings_type::AudioFormats, get_cfg_location(local_cfg.audio.formats) },
+ { emu_settings_type::AudioProvider, get_cfg_location(local_cfg.audio.provider) },
+ { emu_settings_type::AudioAvport, get_cfg_location(local_cfg.audio.rsxaudio_port) },
+ { emu_settings_type::AudioDevice, get_cfg_location(local_cfg.audio.audio_device) },
+ { emu_settings_type::AudioChannelLayout, get_cfg_location(local_cfg.audio.channel_layout) },
+ { emu_settings_type::MasterVolume, get_cfg_location(local_cfg.audio.volume) },
+ { emu_settings_type::EnableBuffering, get_cfg_location(local_cfg.audio.enable_buffering) },
+ { emu_settings_type::AudioBufferDuration, get_cfg_location(local_cfg.audio.desired_buffer_duration) },
+ { emu_settings_type::EnableTimeStretching, get_cfg_location(local_cfg.audio.enable_time_stretching) },
+ { emu_settings_type::TimeStretchingThreshold, get_cfg_location(local_cfg.audio.time_stretching_threshold) },
+ { emu_settings_type::MicrophoneType, get_cfg_location(local_cfg.audio.microphone_type) },
+ { emu_settings_type::MicrophoneDevices, get_cfg_location(local_cfg.audio.microphone_devices) },
+ { emu_settings_type::MusicHandler, get_cfg_location(local_cfg.audio.music) },
+
+ // Input / Output
+ { emu_settings_type::BackgroundInput, get_cfg_location(local_cfg.io.background_input_enabled) },
+ { emu_settings_type::ShowMoveCursor, get_cfg_location(local_cfg.io.show_move_cursor) },
+ { emu_settings_type::LockOvlIptToP1, get_cfg_location(local_cfg.io.lock_overlay_input_to_player_one) },
+ { emu_settings_type::PadHandlerMode, get_cfg_location(local_cfg.io.pad_mode) },
+ { emu_settings_type::PadConnection, get_cfg_location(local_cfg.io.keep_pads_connected) },
+ { emu_settings_type::KeyboardHandler, get_cfg_location(local_cfg.io.keyboard) },
+ { emu_settings_type::MouseHandler, get_cfg_location(local_cfg.io.mouse) },
+ { emu_settings_type::Camera, get_cfg_location(local_cfg.io.camera) },
+ { emu_settings_type::CameraType, get_cfg_location(local_cfg.io.camera_type) },
+ { emu_settings_type::CameraFlip, get_cfg_location(local_cfg.io.camera_flip_option) },
+ { emu_settings_type::CameraID, get_cfg_location(local_cfg.io.camera_id) },
+ { emu_settings_type::Move, get_cfg_location(local_cfg.io.move) },
+ { emu_settings_type::Buzz, get_cfg_location(local_cfg.io.buzz) },
+ { emu_settings_type::Turntable, get_cfg_location(local_cfg.io.turntable) },
+ { emu_settings_type::GHLtar, get_cfg_location(local_cfg.io.ghltar) },
+ { emu_settings_type::MidiDevices, get_cfg_location(local_cfg.io.midi_devices) },
+ { emu_settings_type::SDLMappings, get_cfg_location(local_cfg.io.load_sdl_mappings) },
+ { emu_settings_type::IoDebugOverlay, get_cfg_location(local_cfg.io.pad_debug_overlay) },
+ { emu_settings_type::MouseDebugOverlay, get_cfg_location(local_cfg.io.mouse_debug_overlay) },
+
+ // Misc
+ { emu_settings_type::ExitRPCS3OnFinish, get_cfg_location(local_cfg.misc.autoexit) },
+ { emu_settings_type::StartOnBoot, get_cfg_location(local_cfg.misc.autostart) },
+ { emu_settings_type::PauseOnFocusLoss, get_cfg_location(local_cfg.misc.autopause) },
+ { emu_settings_type::StartGameFullscreen, get_cfg_location(local_cfg.misc.start_fullscreen) },
+ { emu_settings_type::PreventDisplaySleep, get_cfg_location(local_cfg.misc.prevent_display_sleep) },
+ { emu_settings_type::ShowTrophyPopups, get_cfg_location(local_cfg.misc.show_trophy_popups) },
+ { emu_settings_type::ShowRpcnPopups, get_cfg_location(local_cfg.misc.show_rpcn_popups) },
+ { emu_settings_type::UseNativeInterface, get_cfg_location(local_cfg.misc.use_native_interface) },
+ { emu_settings_type::ShowShaderCompilationHint, get_cfg_location(local_cfg.misc.show_shader_compilation_hint) },
+ { emu_settings_type::ShowPPUCompilationHint, get_cfg_location(local_cfg.misc.show_ppu_compilation_hint) },
+ { emu_settings_type::ShowAutosaveAutoloadHint, get_cfg_location(local_cfg.misc.show_autosave_autoload_hint) },
+ { emu_settings_type::ShowPressureIntensityToggleHint, get_cfg_location(local_cfg.misc.show_pressure_intensity_toggle_hint) },
+ { emu_settings_type::ShowAnalogLimiterToggleHint, get_cfg_location(local_cfg.misc.show_analog_limiter_toggle_hint) },
+ { emu_settings_type::ShowMouseAndKeyboardToggleHint, get_cfg_location(local_cfg.misc.show_mouse_and_keyboard_toggle_hint) },
+ { emu_settings_type::ShowFatalErrorHints, get_cfg_location(local_cfg.misc.show_fatal_error_hints) },
+ { emu_settings_type::ShowCaptureHints, get_cfg_location(local_cfg.misc.show_capture_hints) },
+ { emu_settings_type::SilenceAllLogs, get_cfg_location(local_cfg.misc.silence_all_logs) },
+ { emu_settings_type::WindowTitleFormat, get_cfg_location(local_cfg.misc.title_format) },
+ { emu_settings_type::PauseDuringHomeMenu, get_cfg_location(local_cfg.misc.pause_during_home_menu) },
+ { emu_settings_type::PlayMusicDuringBoot, get_cfg_location(local_cfg.misc.play_music_during_boot) },
+ { emu_settings_type::EnableGamemode, get_cfg_location(local_cfg.misc.enable_gamemode) },
+
+ // Networking
+ { emu_settings_type::InternetStatus, get_cfg_location(local_cfg.net.net_active) },
+ { emu_settings_type::DNSAddress, get_cfg_location(local_cfg.net.dns) },
+ { emu_settings_type::IpSwapList, get_cfg_location(local_cfg.net.swap_list) },
+ { emu_settings_type::PSNStatus, get_cfg_location(local_cfg.net.psn_status) },
+ { emu_settings_type::BindAddress, get_cfg_location(local_cfg.net.bind_address) },
+ { emu_settings_type::EnableUpnp, get_cfg_location(local_cfg.net.upnp_enabled) },
+ { emu_settings_type::PSNCountry, get_cfg_location(local_cfg.net.country) },
+ { emu_settings_type::EnableClans, get_cfg_location(local_cfg.net.clans_enabled) },
+
+ // System
+ { emu_settings_type::LicenseArea, get_cfg_location(local_cfg.sys.license_area) },
+ { emu_settings_type::Language, get_cfg_location(local_cfg.sys.language) },
+ { emu_settings_type::KeyboardType, get_cfg_location(local_cfg.sys.keyboard_type) },
+ { emu_settings_type::EnterButtonAssignment, get_cfg_location(local_cfg.sys.enter_button_assignment) },
+ { emu_settings_type::DateFormat, get_cfg_location(local_cfg.sys.date_fmt) },
+ { emu_settings_type::TimeFormat, get_cfg_location(local_cfg.sys.time_fmt) },
+ { emu_settings_type::ConsoleTimeOffset, get_cfg_location(local_cfg.sys.console_time_offset) },
+
+ { emu_settings_type::EnableHostRoot, get_cfg_location(local_cfg.vfs.host_root) },
+ { emu_settings_type::EmptyHdd0Tmp, get_cfg_location(local_cfg.vfs.empty_hdd0_tmp) },
+ { emu_settings_type::LimitCacheSize, get_cfg_location(local_cfg.vfs.limit_cache_size) },
+ { emu_settings_type::MaximumCacheSize, get_cfg_location(local_cfg.vfs.cache_max_size) },
+
+ // Savestates
+ { emu_settings_type::SuspendEmulationSavestateMode, get_cfg_location(local_cfg.savestate.suspend_emu) },
+ { emu_settings_type::CompatibleEmulationSavestateMode, get_cfg_location(local_cfg.savestate.compatible_mode) },
+ { emu_settings_type::StartSavestatePaused, get_cfg_location(local_cfg.savestate.start_paused) },
+
+ // Logs
+ { emu_settings_type::Log, get_cfg_location(local_cfg.log)},
+};
diff --git a/rpcs3/rpcs3qt/emu_settings_type.h b/rpcs3/rpcs3qt/emu_settings_type.h
index 6f6589c893..de04b81e85 100644
--- a/rpcs3/rpcs3qt/emu_settings_type.h
+++ b/rpcs3/rpcs3qt/emu_settings_type.h
@@ -1,10 +1,11 @@
#pragma once
+#include
#include