diff --git a/pcsx2-qt/Settings/GraphicsSettingsWidget.cpp b/pcsx2-qt/Settings/GraphicsSettingsWidget.cpp index ab1e09cb96..6575745209 100644 --- a/pcsx2-qt/Settings/GraphicsSettingsWidget.cpp +++ b/pcsx2-qt/Settings/GraphicsSettingsWidget.cpp @@ -106,6 +106,7 @@ GraphicsSettingsWidget::GraphicsSettingsWidget(SettingsDialog* dialog, QWidget* SettingWidgetBinder::BindWidgetToBoolSetting(sif, m_ui.osdShowCPU, "EmuCore/GS", "OsdShowCPU", false); SettingWidgetBinder::BindWidgetToBoolSetting(sif, m_ui.osdShowResolution, "EmuCore/GS", "OsdShowResolution", false); SettingWidgetBinder::BindWidgetToBoolSetting(sif, m_ui.osdShowGSStats, "EmuCore/GS", "OsdShowGSStats", false); + SettingWidgetBinder::BindWidgetToBoolSetting(sif, m_ui.osdShowIndicators, "EmuCore/GS", "OsdShowIndicators", true); dialog->registerWidgetHelp(m_ui.osdShowMessages, tr("Show OSD Messages"), tr("Checked"), tr("Shows on-screen-display messages when events occur such as save states being " diff --git a/pcsx2-qt/Settings/GraphicsSettingsWidget.ui b/pcsx2-qt/Settings/GraphicsSettingsWidget.ui index f3b27fa1f5..7527df5c92 100644 --- a/pcsx2-qt/Settings/GraphicsSettingsWidget.ui +++ b/pcsx2-qt/Settings/GraphicsSettingsWidget.ui @@ -919,6 +919,13 @@ + + + + Show Indicators + + + diff --git a/pcsx2/Config.h b/pcsx2/Config.h index 7eabecdfcb..92faba8e57 100644 --- a/pcsx2/Config.h +++ b/pcsx2/Config.h @@ -428,7 +428,8 @@ struct Pcsx2Config OsdShowFPS : 1, OsdShowCPU : 1, OsdShowResolution : 1, - OsdShowGSStats : 1; + OsdShowGSStats : 1, + OsdShowIndicators : 1; bool HWDisableReadbacks : 1, diff --git a/pcsx2/Frontend/ImGuiManager.cpp b/pcsx2/Frontend/ImGuiManager.cpp index df975af085..ec60c3a973 100644 --- a/pcsx2/Frontend/ImGuiManager.cpp +++ b/pcsx2/Frontend/ImGuiManager.cpp @@ -601,16 +601,22 @@ static void DrawPerformanceOverlay() } } - const bool is_normal_speed = (EmuConfig.GS.LimitScalar == EmuConfig.Framerate.NominalScalar); - if (!is_normal_speed) + if (GSConfig.OsdShowIndicators) { - const bool is_slowmo = (EmuConfig.GS.LimitScalar < EmuConfig.Framerate.NominalScalar); - DRAW_LINE(s_standard_font, is_slowmo ? ICON_FA_FORWARD : ICON_FA_FAST_FORWARD, IM_COL32(255, 255, 255, 255)); + const bool is_normal_speed = (EmuConfig.GS.LimitScalar == EmuConfig.Framerate.NominalScalar); + if (!is_normal_speed) + { + const bool is_slowmo = (EmuConfig.GS.LimitScalar < EmuConfig.Framerate.NominalScalar); + DRAW_LINE(s_standard_font, is_slowmo ? ICON_FA_FORWARD : ICON_FA_FAST_FORWARD, IM_COL32(255, 255, 255, 255)); + } } } else { - DRAW_LINE(s_standard_font, ICON_FA_PAUSE, IM_COL32(255, 255, 255, 255)); + if (GSConfig.OsdShowIndicators) + { + DRAW_LINE(s_standard_font, ICON_FA_PAUSE, IM_COL32(255, 255, 255, 255)); + } } #undef DRAW_LINE diff --git a/pcsx2/GS/GS.cpp b/pcsx2/GS/GS.cpp index 25a618fbc5..6fd59f336e 100644 --- a/pcsx2/GS/GS.cpp +++ b/pcsx2/GS/GS.cpp @@ -1326,6 +1326,7 @@ void GSApp::Init() m_default_configuration["OsdShowCPU"] = "0"; m_default_configuration["OsdShowResolution"] = "0"; m_default_configuration["OsdShowGSStats"] = "0"; + m_default_configuration["OsdShowIndicators"] = "1"; m_default_configuration["OsdScale"] = "100"; m_default_configuration["override_geometry_shader"] = "-1"; m_default_configuration["override_GL_ARB_copy_image"] = "-1"; diff --git a/pcsx2/GS/Window/GSwxDialog.cpp b/pcsx2/GS/Window/GSwxDialog.cpp index 1f371008e5..b8da18c323 100644 --- a/pcsx2/GS/Window/GSwxDialog.cpp +++ b/pcsx2/GS/Window/GSwxDialog.cpp @@ -519,6 +519,7 @@ OSDTab::OSDTab(wxWindow* parent) m_ui.addCheckBox(log_grid, "Show CPU Usage", "OsdShowCPU", -1); m_ui.addCheckBox(log_grid, "Show Resolution", "OsdShowResolution", -1); m_ui.addCheckBox(log_grid, "Show Statistics", "OsdShowGSStats", -1); + m_ui.addCheckBox(log_grid, "Show Indicators", "OsdShowIndicators", -1); log_box->Add(log_grid, wxSizerFlags().Expand()); tab_box->Add(log_box.outer, wxSizerFlags().Expand()); diff --git a/pcsx2/Pcsx2Config.cpp b/pcsx2/Pcsx2Config.cpp index 5cf40ee86c..418abe9c99 100644 --- a/pcsx2/Pcsx2Config.cpp +++ b/pcsx2/Pcsx2Config.cpp @@ -289,6 +289,7 @@ Pcsx2Config::GSOptions::GSOptions() OsdShowCPU = false; OsdShowResolution = false; OsdShowGSStats = false; + OsdShowIndicators = true; HWDisableReadbacks = false; AccurateDATE = true; @@ -483,6 +484,7 @@ void Pcsx2Config::GSOptions::ReloadIniSettings() GSSettingBool(OsdShowCPU); GSSettingBool(OsdShowResolution); GSSettingBool(OsdShowGSStats); + GSSettingBool(OsdShowIndicators); GSSettingBool(HWDisableReadbacks); GSSettingBoolEx(AccurateDATE, "accurate_date");