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
This commit is contained in:
Shawn Hoffman
2010-06-03 04:55:39 +00:00
parent d0c65b610c
commit e4085f0f04
104 changed files with 2478 additions and 8746 deletions

View File

@ -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);
settings.Get("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("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);
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);
iniFile.Get("Hardware", "Adapter", &iAdapter, 0);
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);
//Safe texture cache params
if (iniFile.Exists("Video", "SafeTextureCacheColorSamples"))
iniFile.Get("Video", "SafeTextureCacheColorSamples", &iSafeTextureCache_ColorSamples,512);
Section& video = iniFile["Video"];
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("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
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);
settings.Set("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("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);
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);
iniFile.Set("Hardware", "Adapter", iAdapter);
iniFile.Set("Hardware", "SimpleFB", bSimpleFB);
hardware.Set("Adapter", iAdapter);
hardware.Set("SimpleFB", bSimpleFB);
iniFile.Save(ini_file);
}