summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJMC47 <JMC4789@gmail.com>2020-02-08 14:17:42 -0500
committerGitHub <noreply@github.com>2020-02-08 14:17:42 -0500
commit3b0b264c8487f001022ebbf5be50b01888149441 (patch)
tree51d610a7c674d6b743e5b2562ef3d09187b891ff
parentdc5447fb308a6d770f9f921c09790565a82746dc (diff)
parent9a34091b8b2c5df058f5a233667254e333688464 (diff)
Merge pull request #8608 from jordan-woyak/stereoscopy-hotkeys
DolphinQt: Fix stereoscopy hotkeys.
-rw-r--r--Source/Core/Core/Config/GraphicsSettings.h4
-rw-r--r--Source/Core/DolphinQt/Config/Graphics/EnhancementsWidget.cpp5
-rw-r--r--Source/Core/DolphinQt/HotkeyScheduler.cpp8
3 files changed, 12 insertions, 5 deletions
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<int> GFX_STEREO_CONVERGENCE;
extern const ConfigInfo<bool> GFX_STEREO_EFB_MONO_DEPTH;
extern const ConfigInfo<int> 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<bool> 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;