mirror of
https://github.com/dolphin-emu/dolphin.git
synced 2025-07-24 14:49:42 -06:00
Merge pull request #3076 from void-ghost/stereo3d_presets
Stereo3d presets
This commit is contained in:
@ -72,6 +72,7 @@ public:
|
||||
|
||||
virtual std::string GetName() const = 0;
|
||||
virtual std::string GetDisplayName() const { return GetName(); }
|
||||
virtual std::string GetConfigName() const = 0;
|
||||
|
||||
virtual void ShowConfig(void*) = 0;
|
||||
|
||||
|
@ -96,6 +96,16 @@ void VideoConfig::Load(const std::string& ini_file)
|
||||
enhancements->Get("StereoConvergence", &iStereoConvergence, 20);
|
||||
enhancements->Get("StereoSwapEyes", &bStereoSwapEyes, false);
|
||||
|
||||
//currently these settings are not saved in global config, so we could've initialized them directly
|
||||
for (int i = 0; i < oStereoPresets.size(); ++i)
|
||||
{
|
||||
enhancements->Get(StringFromFormat("StereoConvergence_%d", i), &oStereoPresets[i].depth, iStereoConvergence);
|
||||
enhancements->Get(StringFromFormat("StereoDepth_%d", i), &oStereoPresets[i].convergence, iStereoDepth);
|
||||
}
|
||||
enhancements->Get("StereoActivePreset", &iStereoActivePreset, 0);
|
||||
iStereoConvergence = oStereoPresets[iStereoActivePreset].convergence;
|
||||
iStereoDepth = oStereoPresets[iStereoActivePreset].depth;
|
||||
|
||||
IniFile::Section* hacks = iniFile.GetOrCreateSection("Hacks");
|
||||
hacks->Get("EFBAccessEnable", &bEFBAccessEnable, true);
|
||||
hacks->Get("BBoxEnable", &bBBoxEnable, false);
|
||||
@ -200,6 +210,17 @@ void VideoConfig::GameIniLoad()
|
||||
CHECK_SETTING("Video_Enhancements", "StereoConvergence", iStereoConvergence);
|
||||
CHECK_SETTING("Video_Enhancements", "StereoSwapEyes", bStereoSwapEyes);
|
||||
|
||||
//these are not overrides, they are per-game settings, hence no warning
|
||||
IniFile::Section* enhancements = iniFile.GetOrCreateSection("Enhancements");
|
||||
for (int i = 0; i < oStereoPresets.size(); ++i)
|
||||
{
|
||||
enhancements->Get(StringFromFormat("StereoConvergence_%d", i), &oStereoPresets[i].depth, iStereoConvergence);
|
||||
enhancements->Get(StringFromFormat("StereoDepth_%d", i), &oStereoPresets[i].convergence, iStereoDepth);
|
||||
}
|
||||
enhancements->Get("StereoActivePreset", &iStereoActivePreset, 0);
|
||||
iStereoConvergence = oStereoPresets[iStereoActivePreset].convergence;
|
||||
iStereoDepth = oStereoPresets[iStereoActivePreset].depth;
|
||||
|
||||
CHECK_SETTING("Video_Stereoscopy", "StereoEFBMonoDepth", bStereoEFBMonoDepth);
|
||||
CHECK_SETTING("Video_Stereoscopy", "StereoDepthPercentage", iStereoDepthPercentage);
|
||||
CHECK_SETTING("Video_Stereoscopy", "StereoConvergenceMinimum", iStereoConvergenceMinimum);
|
||||
|
@ -51,6 +51,14 @@ enum StereoMode
|
||||
STEREO_3DVISION
|
||||
};
|
||||
|
||||
constexpr int STEREOSCOPY_PRESETS_NUM = 3;
|
||||
|
||||
struct StereoscopyPreset final
|
||||
{
|
||||
int depth;
|
||||
int convergence;
|
||||
};
|
||||
|
||||
// NEVER inherit from this class.
|
||||
struct VideoConfig final
|
||||
{
|
||||
@ -84,6 +92,8 @@ struct VideoConfig final
|
||||
int iStereoDepth;
|
||||
int iStereoConvergence;
|
||||
bool bStereoSwapEyes;
|
||||
std::array<StereoscopyPreset, STEREOSCOPY_PRESETS_NUM> oStereoPresets;
|
||||
int iStereoActivePreset;
|
||||
|
||||
// Information
|
||||
bool bShowFPS;
|
||||
|
Reference in New Issue
Block a user