diff --git a/Source/Core/Core/Config/GraphicsSettings.h b/Source/Core/Core/Config/GraphicsSettings.h index cceef8f935..9061979af2 100644 --- a/Source/Core/Core/Config/GraphicsSettings.h +++ b/Source/Core/Core/Config/GraphicsSettings.h @@ -99,6 +99,10 @@ extern const ConfigInfo GFX_STEREO_CONVERGENCE; extern const ConfigInfo GFX_STEREO_EFB_MONO_DEPTH; extern const ConfigInfo GFX_STEREO_DEPTH_PERCENTAGE; +// Stereoscopy pseudo-limits for consistent behavior between enhancements tab and hotkeys. +static constexpr int GFX_STEREO_DEPTH_MAXIMUM = 100; +static constexpr int GFX_STEREO_CONVERGENCE_MAXIMUM = 200; + // Graphics.Hacks extern const ConfigInfo GFX_HACK_EFB_ACCESS_ENABLE; diff --git a/Source/Core/DolphinQt/Config/Graphics/EnhancementsWidget.cpp b/Source/Core/DolphinQt/Config/Graphics/EnhancementsWidget.cpp index 14d6d0f773..a78d327b46 100644 --- a/Source/Core/DolphinQt/Config/Graphics/EnhancementsWidget.cpp +++ b/Source/Core/DolphinQt/Config/Graphics/EnhancementsWidget.cpp @@ -113,8 +113,9 @@ void EnhancementsWidget::CreateWidgets() m_3d_mode = new GraphicsChoice({tr("Off"), tr("Side-by-Side"), tr("Top-and-Bottom"), tr("Anaglyph"), tr("HDMI 3D"), tr("Passive")}, Config::GFX_STEREO_MODE); - m_3d_depth = new GraphicsSlider(0, 100, Config::GFX_STEREO_DEPTH); - m_3d_convergence = new GraphicsSlider(0, 200, Config::GFX_STEREO_CONVERGENCE, 100); + m_3d_depth = new GraphicsSlider(0, Config::GFX_STEREO_DEPTH_MAXIMUM, Config::GFX_STEREO_DEPTH); + m_3d_convergence = new GraphicsSlider(0, Config::GFX_STEREO_CONVERGENCE_MAXIMUM, + Config::GFX_STEREO_CONVERGENCE, 100); m_3d_swap_eyes = new GraphicsBool(tr("Swap Eyes"), Config::GFX_STEREO_SWAP_EYES); stereoscopy_layout->addWidget(new QLabel(tr("Stereoscopic 3D Mode:")), 0, 0); diff --git a/Source/Core/DolphinQt/HotkeyScheduler.cpp b/Source/Core/DolphinQt/HotkeyScheduler.cpp index cb67fba6ea..e440bba022 100644 --- a/Source/Core/DolphinQt/HotkeyScheduler.cpp +++ b/Source/Core/DolphinQt/HotkeyScheduler.cpp @@ -508,10 +508,11 @@ void HotkeyScheduler::Run() const auto stereo_depth = Config::Get(Config::GFX_STEREO_DEPTH); if (IsHotkey(HK_DECREASE_DEPTH, true)) - Config::SetCurrent(Config::GFX_STEREO_DEPTH, std::min(stereo_depth - 1, 0)); + Config::SetCurrent(Config::GFX_STEREO_DEPTH, std::max(stereo_depth - 1, 0)); if (IsHotkey(HK_INCREASE_DEPTH, true)) - Config::SetCurrent(Config::GFX_STEREO_DEPTH, std::min(stereo_depth + 1, 100)); + Config::SetCurrent(Config::GFX_STEREO_DEPTH, + std::min(stereo_depth + 1, Config::GFX_STEREO_DEPTH_MAXIMUM)); const auto stereo_convergence = Config::Get(Config::GFX_STEREO_CONVERGENCE); @@ -519,7 +520,8 @@ void HotkeyScheduler::Run() Config::SetCurrent(Config::GFX_STEREO_CONVERGENCE, std::max(stereo_convergence - 5, 0)); if (IsHotkey(HK_INCREASE_CONVERGENCE, true)) - Config::SetCurrent(Config::GFX_STEREO_CONVERGENCE, std::min(stereo_convergence + 5, 500)); + Config::SetCurrent(Config::GFX_STEREO_CONVERGENCE, + std::min(stereo_convergence + 5, Config::GFX_STEREO_CONVERGENCE_MAXIMUM)); // Freelook static float fl_speed = 1.0;