diff options
| author | shuffle2 <godisgovernment@gmail.com> | 2015-10-03 18:10:23 -0700 |
|---|---|---|
| committer | shuffle2 <godisgovernment@gmail.com> | 2015-10-03 18:10:23 -0700 |
| commit | 81414b4fa2edadf0b2a2bb0bd4df61dd59165eec (patch) | |
| tree | 4711189a836176019e1cd3913a6bac08b2bd751a /Source/Core/DolphinWX/Frame.cpp | |
| parent | b926061f641692ae31bacbeba304f5941db7d3bc (diff) | |
| parent | 7c1565b201ed3e1a2579da3e55efa995cbfb3f5d (diff) | |
Merge pull request #3076 from void-ghost/stereo3d_presets
Stereo3d presets
Diffstat (limited to 'Source/Core/DolphinWX/Frame.cpp')
| -rw-r--r-- | Source/Core/DolphinWX/Frame.cpp | 52 |
1 files changed, 48 insertions, 4 deletions
diff --git a/Source/Core/DolphinWX/Frame.cpp b/Source/Core/DolphinWX/Frame.cpp index d367f94c9b..fef41bbce2 100644 --- a/Source/Core/DolphinWX/Frame.cpp +++ b/Source/Core/DolphinWX/Frame.cpp @@ -1416,29 +1416,73 @@ void CFrame::ParseHotkeys() { State::Load(g_saveSlot); } - if (IsHotkey(HK_DECREASE_DEPTH, true)) + + auto savePreset = [](const std::string& param, int value) + { + IniFile localIni = SConfig::GetInstance().LoadLocalGameIni(); + localIni.GetOrCreateSection("Enhancements")->Set( + StringFromFormat("Stereo%s_%d", param.c_str(), g_Config.iStereoActivePreset), + value); + std::string iniFileName = File::GetUserPath(D_GAMESETTINGS_IDX) + SConfig::GetInstance().GetUniqueID() + ".ini"; + OSD::AddMessage(StringFromFormat("%s: %d", param.c_str(), value) , 1000); + localIni.Save(iniFileName); + }; + + if (IsHotkey(HK_DECREASE_DEPTH)) { if (--g_Config.iStereoDepth < 0) g_Config.iStereoDepth = 0; + g_Config.oStereoPresets[g_Config.iStereoActivePreset].depth = g_Config.iStereoDepth; + savePreset("Depth", g_Config.iStereoDepth); } - if (IsHotkey(HK_INCREASE_DEPTH, true)) + if (IsHotkey(HK_INCREASE_DEPTH)) { if (++g_Config.iStereoDepth > 100) g_Config.iStereoDepth = 100; + g_Config.oStereoPresets[g_Config.iStereoActivePreset].depth = g_Config.iStereoDepth; + savePreset("Depth", g_Config.iStereoDepth); } - if (IsHotkey(HK_DECREASE_CONVERGENCE, true)) + if (IsHotkey(HK_DECREASE_CONVERGENCE)) { g_Config.iStereoConvergence -= 5; if (g_Config.iStereoConvergence < 0) g_Config.iStereoConvergence = 0; + g_Config.oStereoPresets[g_Config.iStereoActivePreset].convergence = g_Config.iStereoConvergence; + savePreset("Convergence", g_Config.iStereoConvergence); } - if (IsHotkey(HK_INCREASE_CONVERGENCE, true)) + if (IsHotkey(HK_INCREASE_CONVERGENCE)) { g_Config.iStereoConvergence += 5; if (g_Config.iStereoConvergence > 500) g_Config.iStereoConvergence = 500; + g_Config.oStereoPresets[g_Config.iStereoActivePreset].convergence = g_Config.iStereoConvergence; + savePreset("Convergence", g_Config.iStereoConvergence); } + if (IsHotkey(HK_SWITCH_STEREOSCOPY_PRESET)) + { + g_Config.iStereoActivePreset = !g_Config.iStereoActivePreset; + g_Config.iStereoConvergence = g_Config.oStereoPresets[g_Config.iStereoActivePreset].convergence; + g_Config.iStereoDepth = g_Config.oStereoPresets[g_Config.iStereoActivePreset].depth; + } + if (IsHotkey(HK_USE_STEREOSCOPY_PRESET_0)) + { + g_Config.iStereoActivePreset = 0; + g_Config.iStereoConvergence = g_Config.oStereoPresets[g_Config.iStereoActivePreset].convergence; + g_Config.iStereoDepth = g_Config.oStereoPresets[g_Config.iStereoActivePreset].depth; + } + if (IsHotkey(HK_USE_STEREOSCOPY_PRESET_1)) + { + g_Config.iStereoActivePreset = 1; + g_Config.iStereoConvergence = g_Config.oStereoPresets[g_Config.iStereoActivePreset].convergence; + g_Config.iStereoDepth = g_Config.oStereoPresets[g_Config.iStereoActivePreset].depth; + } + if (IsHotkey(HK_USE_STEREOSCOPY_PRESET_2)) + { + g_Config.iStereoActivePreset = 2; + g_Config.iStereoConvergence = g_Config.oStereoPresets[g_Config.iStereoActivePreset].convergence; + g_Config.iStereoDepth = g_Config.oStereoPresets[g_Config.iStereoActivePreset].depth; + } static float debugSpeed = 1.0f; if (IsHotkey(HK_FREELOOK_DECREASE_SPEED, true)) debugSpeed /= 1.1f; |
