From 767532b2c771609286cb1c22c2b1da48a8cf090b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Henrik=20Rydg=C3=A5rd?= Date: Tue, 10 Nov 2026 13:05:59 +0100 Subject: [PATCH] Reorder settings some more. System tab is now second after General. --- UI/GameSettingsScreen.cpp | 2 +- UI/Settings/SystemPage.cpp | 16 +++++++--------- UI/SettingsPage.h | 1 + 3 files changed, 9 insertions(+), 10 deletions(-) diff --git a/UI/GameSettingsScreen.cpp b/UI/GameSettingsScreen.cpp index c6b9e28bfb..b76ba0dc24 100644 --- a/UI/GameSettingsScreen.cpp +++ b/UI/GameSettingsScreen.cpp @@ -129,12 +129,12 @@ struct PageDef { static const PageDef pageDefs[] = { { "GameSettingsGeneral", "General", "I_SLIDERS", nullptr, I18NCat::SYSTEM, nullptr, &BuildGeneralSettings }, + { "GameSettingsSystem", "System", "I_PSP", "system", I18NCat::SYSTEM, nullptr, &BuildSystemSettings}, { "GameSettingsControls", "Controls", "I_CONTROLLER", "controls", I18NCat::CONTROLS, &BuildControlsSettings }, { "GameSettingsGraphics", "Graphics", "I_DISPLAY", "graphics", I18NCat::GRAPHICS, &BuildGraphicsSettings }, { "GameSettingsAudio", "Audio", "I_SPEAKER_MAX", "audio", I18NCat::AUDIO, &BuildAudioSettings }, { "GameSettingsNetworking", "Networking", "I_WIFI", "network", I18NCat::NETWORKING, &BuildNetworkingSettings }, { "GameSettingsTools", "Tools", "I_TOOLS", "tools", I18NCat::MAINSETTINGS, &BuildToolsSettings }, - { "GameSettingsSystem", "System", "I_PSP", "system", I18NCat::SYSTEM, nullptr, &BuildSystemSettings }, { "GameSettingsVR", "VR", "I_VR", nullptr, I18NCat::VR, &BuildVRSettings}, }; diff --git a/UI/Settings/SystemPage.cpp b/UI/Settings/SystemPage.cpp index 78f5de2898..69169d4ba4 100644 --- a/UI/Settings/SystemPage.cpp +++ b/UI/Settings/SystemPage.cpp @@ -229,28 +229,26 @@ void BuildSystemSettings(SettingsPage *page, SystemPageState *state) { SettingsPageHost *host = page->Host(); page->Header(); - page->Link({I18NCat::SYSTEM, "PSP system settings"}, I18NCat::SYSTEM, &BuildPSPSettingsPage); - - page->Header("Cheats"); - page->Setting(&g_Config.bEnableCheats); - page->Setting(&g_Config.bEnablePlugins); + page->Link({I18NCat::SYSTEM, "PSP system settings"}, I18NCat::SYSTEM, &BuildPSPSettingsPage).Image(ImageID("I_PSP")); page->Header("Emulation"); + page->Setting(&g_Config.bForceLagSync).Disabled(&g_Config.bAutoFrameSkip).Hint({I18NCat::SYSTEM, "LowLatencyCPUTiming Tip", "Runs emulation in step with real time instead of a frame at a time, for less audio, input and network delay. Uses a little more CPU, and goes back to normal timing when the device is too busy. Previously called \"Force real clock sync\"."}); + page->Setting(&g_Config.iLockedCPUSpeed); page->Setting(&g_Config.bFastMemory).OnChange([](UI::EventParams &e) { OnJitAffectingSetting(); }); page->Setting(&g_Config.bIgnoreBadMemAccess); - if (System_GetPropertyBool(SYSPROP_ENOUGH_RAM_FOR_FULL_ISO)) { page->Setting(&g_Config.bCacheFullIsoInRam).EnabledFunc([] { return !PSP_IsInited(); }); } - page->Setting(&g_Config.iIOTimingMethod); - page->Setting(&g_Config.bForceLagSync).Disabled(&g_Config.bAutoFrameSkip).Hint({ I18NCat::SYSTEM, "LowLatencyCPUTiming Tip", "Runs emulation in step with real time instead of a frame at a time, for less audio, input and network delay. Uses a little more CPU, and goes back to normal timing when the device is too busy. Previously called \"Force real clock sync\"." }); - page->Setting(&g_Config.iLockedCPUSpeed); + + page->Header("Cheats"); + page->Setting(&g_Config.bEnableCheats); + page->Setting(&g_Config.bEnablePlugins); page->Header({I18NCat::SAVEDATA, "Save states"}); // Borrow this string from the savedata manager diff --git a/UI/SettingsPage.h b/UI/SettingsPage.h index c322c67eb0..2274d9382c 100644 --- a/UI/SettingsPage.h +++ b/UI/SettingsPage.h @@ -184,6 +184,7 @@ struct SettingItem { SettingItem &Format(std::string_view fmt) { format = fmt; return *this; } SettingItem &LiveUpdate() { liveUpdate = true; return *this; } SettingItem &RestrictTo(const int *values, size_t count) { restrictTo = values; restrictCount = count; return *this; } + SettingItem &Image(ImageID image) { this->image = image; return *this; } }; // A list of settings items. Texts without a category get the page's.