summaryrefslogtreecommitdiff
path: root/Source/Core/VideoCommon/Src/VideoConfig.cpp
diff options
context:
space:
mode:
authorShawn Hoffman <godisgovernment@gmail.com>2010-06-03 04:55:39 +0000
committerShawn Hoffman <godisgovernment@gmail.com>2010-06-03 04:55:39 +0000
commite4085f0f049c0f681e3feaa97f7f0842c017ae8e (patch)
treeb04dce91280d8a771c894fcf8495473fc9e0c45b /Source/Core/VideoCommon/Src/VideoConfig.cpp
parentd0c65b610c91531ff80298834bc866cf6b016fcd (diff)
Merge GCPadNew into Dolphin. This takes place in three segments: Core, InputCommon, and InputUICommon. From now on it can be referred to just as "GCPad".
Switch to Billiard's IniFile implementation throughout Dolphin (it's faster!!). git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@5579 8ced0084-cf51-0410-be5f-012b33b47a6e
Diffstat (limited to 'Source/Core/VideoCommon/Src/VideoConfig.cpp')
-rw-r--r--Source/Core/VideoCommon/Src/VideoConfig.cpp250
1 files changed, 124 insertions, 126 deletions
diff --git a/Source/Core/VideoCommon/Src/VideoConfig.cpp b/Source/Core/VideoCommon/Src/VideoConfig.cpp
index a956a53cf2..8a91283860 100644
--- a/Source/Core/VideoCommon/Src/VideoConfig.cpp
+++ b/Source/Core/VideoCommon/Src/VideoConfig.cpp
@@ -47,63 +47,68 @@ void VideoConfig::Load(const char *ini_file)
IniFile iniFile;
iniFile.Load(ini_file);
- iniFile.Get("Hardware", "VSync", &bVSync, 0); // Hardware
- iniFile.Get("Settings", "StretchToFit", &bNativeResolution, true);
- iniFile.Get("Settings", "2xResolution", &b2xResolution, false);
- iniFile.Get("Settings", "wideScreenHack", &bWidescreenHack, false);
- iniFile.Get("Settings", "AspectRatio", &iAspectRatio, (int)ASPECT_AUTO);
- iniFile.Get("Settings", "Crop", &bCrop, false);
- iniFile.Get("Settings", "UseXFB", &bUseXFB, 0);
- iniFile.Get("Settings", "UseRealXFB", &bUseRealXFB, 0);
- iniFile.Get("Settings", "AutoScale", &bAutoScale, true);
- iniFile.Get("Settings", "UseNativeMips", &bUseNativeMips, true);
+ Section& hardware = iniFile["Hardware"];
+ hardware.Get("VSync", &bVSync, false); // Hardware
+
+ Section& settings = iniFile["Settings"];
+ settings.Get("StretchToFit", &bNativeResolution, true);
+ settings.Get("2xResolution", &b2xResolution, false);
+ settings.Get("wideScreenHack", &bWidescreenHack, false);
+ settings.Get("AspectRatio", &iAspectRatio, (int)ASPECT_AUTO);
+ settings.Get("Crop", &bCrop, false);
+ settings.Get("UseXFB", &bUseXFB, true);
+ settings.Get("UseRealXFB", &bUseRealXFB, false);
+ settings.Get("AutoScale", &bAutoScale, true);
+ settings.Get("UseNativeMips", &bUseNativeMips, true);
- iniFile.Get("Settings", "SafeTextureCache", &bSafeTextureCache, false); // Settings
+ settings.Get("SafeTextureCache", &bSafeTextureCache, false); // Settings
//Safe texture cache params
- iniFile.Get("Settings", "SafeTextureCacheColorSamples", &iSafeTextureCache_ColorSamples,512);
-
- iniFile.Get("Settings", "ShowFPS", &bShowFPS, false); // Settings
- iniFile.Get("Settings", "OverlayStats", &bOverlayStats, false);
- iniFile.Get("Settings", "OverlayProjStats", &bOverlayProjStats, false);
- iniFile.Get("Settings", "ShowEFBCopyRegions", &bShowEFBCopyRegions, false);
- iniFile.Get("Settings", "DLOptimize", &iCompileDLsLevel, 0);
- iniFile.Get("Settings", "DumpTextures", &bDumpTextures, 0);
- iniFile.Get("Settings", "HiresTextures", &bHiresTextures, 0);
- iniFile.Get("Settings", "DumpEFBTarget", &bDumpEFBTarget, 0);
- iniFile.Get("Settings", "DumpFrames", &bDumpFrames, 0);
- iniFile.Get("Settings", "FreeLook", &bFreeLook, 0);
- iniFile.Get("Settings", "ShowShaderErrors", &bShowShaderErrors, 0);
- iniFile.Get("Settings", "MSAA", &iMultisampleMode, 0);
- iniFile.Get("Settings", "DstAlphaPass", &bDstAlphaPass, false);
+ settings.Get("SafeTextureCacheColorSamples", &iSafeTextureCache_ColorSamples,512);
+
+ settings.Get("ShowFPS", &bShowFPS, false); // Settings
+ settings.Get("OverlayStats", &bOverlayStats, false);
+ settings.Get("OverlayProjStats", &bOverlayProjStats, false);
+ settings.Get("ShowEFBCopyRegions", &bShowEFBCopyRegions, false);
+ settings.Get("DLOptimize", &iCompileDLsLevel, 0);
+ settings.Get("DumpTextures", &bDumpTextures, false);
+ settings.Get("HiresTextures", &bHiresTextures, false);
+ settings.Get("DumpEFBTarget", &bDumpEFBTarget, false);
+ settings.Get("DumpFrames", &bDumpFrames, false);
+ settings.Get("FreeLook", &bFreeLook, false);
+ settings.Get("ShowShaderErrors", &bShowShaderErrors, false);
+ settings.Get("MSAA", &iMultisampleMode, 0);
+ settings.Get("DstAlphaPass", &bDstAlphaPass, false);
- iniFile.Get("Settings", "TexFmtOverlayEnable", &bTexFmtOverlayEnable, 0);
- iniFile.Get("Settings", "TexFmtOverlayCenter", &bTexFmtOverlayCenter, 0);
- iniFile.Get("Settings", "WireFrame", &bWireFrame, 0);
- iniFile.Get("Settings", "DisableLighting", &bDisableLighting, 0);
- iniFile.Get("Settings", "DisableTexturing", &bDisableTexturing, 0);
- iniFile.Get("Settings", "DisableFog", &bDisableFog, 0);
-
- iniFile.Get("Enhancements", "ForceFiltering", &bForceFiltering, 0);
- iniFile.Get("Enhancements", "MaxAnisotropy", &iMaxAnisotropy, 1); // NOTE - this is x in (1 << x)
- iniFile.Get("Enhancements", "PostProcessingShader", &sPostProcessingShader, "");
-
- iniFile.Get("Hacks", "EFBAccessEnable", &bEFBAccessEnable, true);
- iniFile.Get("Hacks", "EFBCopyDisable", &bEFBCopyDisable, false);
- iniFile.Get("Hacks", "EFBCopyDisableHotKey", &bOSDHotKey, 0);
- iniFile.Get("Hacks", "EFBToTextureEnable", &bCopyEFBToTexture, false);
- iniFile.Get("Hacks", "EFBScaledCopy", &bCopyEFBScaled, true);
- iniFile.Get("Hacks", "FIFOBPHack", &bFIFOBPhack, false);
- iniFile.Get("Hacks", "ProjectionHack", &iPhackvalue, 0);
-
- iniFile.Get("Hardware", "Adapter", &iAdapter, 0);
+ settings.Get("TexFmtOverlayEnable", &bTexFmtOverlayEnable, false);
+ settings.Get("TexFmtOverlayCenter", &bTexFmtOverlayCenter, false);
+ settings.Get("WireFrame", &bWireFrame, false);
+ settings.Get("DisableLighting", &bDisableLighting, false);
+ settings.Get("DisableTexturing", &bDisableTexturing, false);
+ settings.Get("DisableFog", &bDisableFog, false);
+
+ Section& enhancements = iniFile["Enhancements"];
+ enhancements.Get("ForceFiltering", &bForceFiltering, false);
+ enhancements.Get("MaxAnisotropy", &iMaxAnisotropy, 1); // NOTE - this is x in (1 << x)
+ enhancements.Get("PostProcessingShader", &sPostProcessingShader, "");
+
+ Section& hacks = iniFile["Hacks"];
+ hacks.Get("EFBAccessEnable", &bEFBAccessEnable, true);
+ hacks.Get("EFBCopyDisable", &bEFBCopyDisable, false);
+ hacks.Get("EFBCopyDisableHotKey", &bOSDHotKey, false);
+ hacks.Get("EFBToTextureEnable", &bCopyEFBToTexture, false);
+ hacks.Get("EFBScaledCopy", &bCopyEFBScaled, true);
+ hacks.Get("FIFOBPHack", &bFIFOBPhack, false);
+ hacks.Get("ProjectionHack", &iPhackvalue, 0);
+
+ hardware.Get("Adapter", &iAdapter, 0);
if (iAdapter == -1)
iAdapter = 0;
- iniFile.Get("Hardware", "SimpleFB", &bSimpleFB, false);
+ hardware.Get("SimpleFB", &bSimpleFB, false);
// Load common settings
iniFile.Load(File::GetUserPath(F_DOLPHINCONFIG_IDX));
bool bTmp;
- iniFile.Get("Interface", "UsePanicHandlers", &bTmp, true);
+ iniFile["Interface"].Get("UsePanicHandlers", &bTmp, true);
SetEnableAlert(bTmp);
}
@@ -112,94 +117,87 @@ void VideoConfig::GameIniLoad(const char *ini_file)
IniFile iniFile;
iniFile.Load(ini_file);
- if (iniFile.Exists("Video", "ForceFiltering"))
- iniFile.Get("Video", "ForceFiltering", &bForceFiltering, 0);
- if (iniFile.Exists("Video", "MaxAnisotropy"))
- iniFile.Get("Video", "MaxAnisotropy", &iMaxAnisotropy, 3); // NOTE - this is x in (1 << x)
- if (iniFile.Exists("Video", "EFBCopyDisable"))
- iniFile.Get("Video", "EFBCopyDisable", &bEFBCopyDisable, 0);
- if (iniFile.Exists("Video", "EFBCopyDisableHotKey"))
- iniFile.Get("Video", "EFBCopyDisableHotKey", &bOSDHotKey, 0);
- if (iniFile.Exists("Video", "EFBToTextureEnable"))
- iniFile.Get("Video", "EFBToTextureEnable", &bCopyEFBToTexture, 0);
- if (iniFile.Exists("Video", "EFBScaledCopy"))
- iniFile.Get("Video", "EFBScaledCopy", &bCopyEFBScaled, 0);
- if (iniFile.Exists("Video", "SafeTextureCache"))
- iniFile.Get("Video", "SafeTextureCache", &bSafeTextureCache, false);
+ Section& video = iniFile["Video"];
+
+ video.Get("ForceFiltering", &bForceFiltering, bForceFiltering);
+ video.Get("MaxAnisotropy", &iMaxAnisotropy, iMaxAnisotropy); // NOTE - this is x in (1 << x)
+ video.Get("EFBCopyDisable", &bEFBCopyDisable, bEFBCopyDisable);
+ video.Get("EFBCopyDisableHotKey", &bOSDHotKey, bOSDHotKey);
+ video.Get("EFBToTextureEnable", &bCopyEFBToTexture, bCopyEFBToTexture);
+ video.Get("EFBScaledCopy", &bCopyEFBScaled, bCopyEFBScaled);
+ video.Get("SafeTextureCache", &bSafeTextureCache, bSafeTextureCache);
//Safe texture cache params
- if (iniFile.Exists("Video", "SafeTextureCacheColorSamples"))
- iniFile.Get("Video", "SafeTextureCacheColorSamples", &iSafeTextureCache_ColorSamples,512);
-
- if (iniFile.Exists("Video", "MSAA"))
- iniFile.Get("Video", "MSAA", &iMultisampleMode, 0);
- if (iniFile.Exists("Video", "DstAlphaPass"))
- iniFile.Get("Video", "DstAlphaPass", &bDstAlphaPass, false);
- if (iniFile.Exists("Video", "UseXFB"))
- iniFile.Get("Video", "UseXFB", &bUseXFB, 0);
- if (iniFile.Exists("Video", "UseRealXFB"))
- iniFile.Get("Video", "UseRealXFB", &bUseRealXFB, 0);
- if (iniFile.Exists("Video", "FIFOBPHack"))
- iniFile.Get("Video", "FIFOBPHack", &bFIFOBPhack, false);
- if (iniFile.Exists("Video", "ProjectionHack"))
- iniFile.Get("Video", "ProjectionHack", &iPhackvalue, 0);
- if (iniFile.Exists("Video", "UseNativeMips"))
- iniFile.Get("Video", "UseNativeMips", &bUseNativeMips, true);
+ video.Get("SafeTextureCacheColorSamples", &iSafeTextureCache_ColorSamples, iSafeTextureCache_ColorSamples);
+
+ video.Get("MSAA", &iMultisampleMode, iMultisampleMode);
+ video.Get("DstAlphaPass", &bDstAlphaPass, bDstAlphaPass);
+ video.Get("UseXFB", &bUseXFB, bUseXFB);
+ video.Get("UseRealXFB", &bUseRealXFB, bUseRealXFB);
+ video.Get("FIFOBPHack", &bFIFOBPhack, bFIFOBPhack);
+ video.Get("ProjectionHack", &iPhackvalue, iPhackvalue);
+ video.Get("UseNativeMips", &bUseNativeMips, bUseNativeMips);
}
void VideoConfig::Save(const char *ini_file)
{
IniFile iniFile;
iniFile.Load(ini_file);
- iniFile.Set("Hardware", "VSync", bVSync);
- iniFile.Set("Settings", "StretchToFit", bNativeResolution);
- iniFile.Set("Settings", "2xResolution", b2xResolution);
- iniFile.Set("Settings", "AspectRatio", iAspectRatio);
- iniFile.Set("Settings", "Crop", bCrop);
- iniFile.Set("Settings", "wideScreenHack", bWidescreenHack);
- iniFile.Set("Settings", "UseXFB", bUseXFB);
- iniFile.Set("Settings", "UseRealXFB", bUseRealXFB);
- iniFile.Set("Settings", "AutoScale", bAutoScale);
- iniFile.Set("Settings", "UseNativeMips", bUseNativeMips);
-
- iniFile.Set("Settings", "SafeTextureCache", bSafeTextureCache);
+
+ Section& hardware = iniFile["Hardware"];
+ hardware.Set("VSync", bVSync);
+
+ Section& settings = iniFile["Settings"];
+ settings.Set("StretchToFit", bNativeResolution);
+ settings.Set("2xResolution", b2xResolution);
+ settings.Set("AspectRatio", iAspectRatio);
+ settings.Set("Crop", bCrop);
+ settings.Set("wideScreenHack", bWidescreenHack);
+ settings.Set("UseXFB", bUseXFB);
+ settings.Set("UseRealXFB", bUseRealXFB);
+ settings.Set("AutoScale", bAutoScale);
+ settings.Set("UseNativeMips", bUseNativeMips);
+
+ settings.Set("SafeTextureCache", bSafeTextureCache);
//safe texture cache params
- iniFile.Set("Settings", "SafeTextureCacheColorSamples", iSafeTextureCache_ColorSamples);
-
- iniFile.Set("Settings", "ShowFPS", bShowFPS);
- iniFile.Set("Settings", "OverlayStats", bOverlayStats);
- iniFile.Set("Settings", "OverlayProjStats", bOverlayProjStats);
- iniFile.Set("Settings", "DLOptimize", iCompileDLsLevel);
- iniFile.Set("Settings", "Show", iCompileDLsLevel);
- iniFile.Set("Settings", "DumpTextures", bDumpTextures);
- iniFile.Set("Settings", "HiresTextures", bHiresTextures);
- iniFile.Set("Settings", "DumpEFBTarget", bDumpEFBTarget);
- iniFile.Set("Settings", "DumpFrames", bDumpFrames);
- iniFile.Set("Settings", "FreeLook", bFreeLook);
- iniFile.Set("Settings", "ShowEFBCopyRegions", bShowEFBCopyRegions);
- iniFile.Set("Settings", "ShowShaderErrors", bShowShaderErrors);
- iniFile.Set("Settings", "MSAA", iMultisampleMode);
- iniFile.Set("Settings", "TexFmtOverlayEnable", bTexFmtOverlayEnable);
- iniFile.Set("Settings", "TexFmtOverlayCenter", bTexFmtOverlayCenter);
- iniFile.Set("Settings", "Wireframe", bWireFrame);
- iniFile.Set("Settings", "DisableLighting", bDisableLighting);
- iniFile.Set("Settings", "DisableTexturing", bDisableTexturing);
- iniFile.Set("Settings", "DstAlphaPass", bDstAlphaPass);
- iniFile.Set("Settings", "DisableFog", bDisableFog);
+ settings.Set("SafeTextureCacheColorSamples", iSafeTextureCache_ColorSamples);
+
+ settings.Set("ShowFPS", bShowFPS);
+ settings.Set("OverlayStats", bOverlayStats);
+ settings.Set("OverlayProjStats", bOverlayProjStats);
+ settings.Set("DLOptimize", iCompileDLsLevel);
+ settings.Set("Show", iCompileDLsLevel);
+ settings.Set("DumpTextures", bDumpTextures);
+ settings.Set("HiresTextures", bHiresTextures);
+ settings.Set("DumpEFBTarget", bDumpEFBTarget);
+ settings.Set("DumpFrames", bDumpFrames);
+ settings.Set("FreeLook", bFreeLook);
+ settings.Set("ShowEFBCopyRegions", bShowEFBCopyRegions);
+ settings.Set("ShowShaderErrors", bShowShaderErrors);
+ settings.Set("MSAA", iMultisampleMode);
+ settings.Set("TexFmtOverlayEnable", bTexFmtOverlayEnable);
+ settings.Set("TexFmtOverlayCenter", bTexFmtOverlayCenter);
+ settings.Set("Wireframe", bWireFrame);
+ settings.Set("DisableLighting", bDisableLighting);
+ settings.Set("DisableTexturing", bDisableTexturing);
+ settings.Set("DstAlphaPass", bDstAlphaPass);
+ settings.Set("DisableFog", bDisableFog);
- iniFile.Set("Enhancements", "ForceFiltering", bForceFiltering);
- iniFile.Set("Enhancements", "MaxAnisotropy", iMaxAnisotropy);
- iniFile.Set("Enhancements", "PostProcessingShader", sPostProcessingShader);
+ Section& enhancements = iniFile["Enhancements"];
+ enhancements.Set("ForceFiltering", bForceFiltering);
+ enhancements.Set("MaxAnisotropy", iMaxAnisotropy);
+ enhancements.Set("PostProcessingShader", sPostProcessingShader);
- iniFile.Set("Hacks", "EFBAccessEnable", bEFBAccessEnable);
- iniFile.Set("Hacks", "EFBCopyDisable", bEFBCopyDisable);
- iniFile.Set("Hacks", "EFBCopyDisableHotKey", bOSDHotKey);
- iniFile.Set("Hacks", "EFBToTextureEnable", bCopyEFBToTexture);
- iniFile.Set("Hacks", "EFBScaledCopy", bCopyEFBScaled);
- iniFile.Set("Hacks", "FIFOBPHack", bFIFOBPhack);
- iniFile.Set("Hacks", "ProjectionHack", iPhackvalue);
-
- iniFile.Set("Hardware", "Adapter", iAdapter);
- iniFile.Set("Hardware", "SimpleFB", bSimpleFB);
+ Section& hacks = iniFile["Hacks"];
+ hacks.Set("EFBAccessEnable", bEFBAccessEnable);
+ hacks.Set("EFBCopyDisable", bEFBCopyDisable);
+ hacks.Set("EFBCopyDisableHotKey", bOSDHotKey);
+ hacks.Set("EFBToTextureEnable", bCopyEFBToTexture);
+ hacks.Set("EFBScaledCopy", bCopyEFBScaled);
+ hacks.Set("FIFOBPHack", bFIFOBPhack);
+ hacks.Set("ProjectionHack", iPhackvalue);
+
+ hardware.Set("Adapter", iAdapter);
+ hardware.Set("SimpleFB", bSimpleFB);
iniFile.Save(ini_file);
}