From e58ba76f07d47aa09e01acf7ead37f7420bb241c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?L=C3=A9o=20Lam?= Date: Wed, 2 Aug 2017 16:30:34 +0800 Subject: [PATCH] Don't force the aspect ratio in GameINIs Instead, add a SuggestedAspectRatio option which tells Dolphin which aspect ratio to use when the aspect ratio option is set to Auto. --- Data/Sys/GameSettings/C.ini | 2 +- Data/Sys/GameSettings/E.ini | 2 +- Data/Sys/GameSettings/F.ini | 2 +- Data/Sys/GameSettings/J.ini | 2 +- Data/Sys/GameSettings/L.ini | 2 +- Data/Sys/GameSettings/M.ini | 2 +- Data/Sys/GameSettings/N.ini | 2 +- Data/Sys/GameSettings/P.ini | 2 +- Data/Sys/GameSettings/Q.ini | 2 +- Data/Sys/GameSettings/R55.ini | 2 +- Data/Sys/GameSettings/RBI.ini | 2 +- Data/Sys/GameSettings/RBL.ini | 2 +- Data/Sys/GameSettings/RBT.ini | 2 +- Data/Sys/GameSettings/RCC.ini | 2 +- Data/Sys/GameSettings/RCP.ini | 2 +- Data/Sys/GameSettings/RDB.ini | 2 +- Data/Sys/GameSettings/RDS.ini | 2 +- Data/Sys/GameSettings/RG2.ini | 2 +- Data/Sys/GameSettings/RGB.ini | 2 +- Data/Sys/GameSettings/RGM.ini | 2 +- Data/Sys/GameSettings/RGS.ini | 2 +- Data/Sys/GameSettings/RI3.ini | 2 +- Data/Sys/GameSettings/RKD.ini | 2 +- Data/Sys/GameSettings/RLT.ini | 2 +- Data/Sys/GameSettings/RMP.ini | 2 +- Data/Sys/GameSettings/RNX.ini | 2 +- Data/Sys/GameSettings/ROD.ini | 2 +- Data/Sys/GameSettings/RPG.ini | 2 +- Data/Sys/GameSettings/RPY.ini | 2 +- Data/Sys/GameSettings/RQW.ini | 2 +- Data/Sys/GameSettings/RRB.ini | 2 +- Data/Sys/GameSettings/RS5.ini | 2 +- Data/Sys/GameSettings/RTR.ini | 2 +- Source/Core/Core/Config/GraphicsSettings.cpp | 2 ++ Source/Core/Core/Config/GraphicsSettings.h | 1 + Source/Core/Core/ConfigLoaders/GameConfigLoader.cpp | 1 + Source/Core/VideoCommon/VideoConfig.cpp | 6 +++++- 37 files changed, 42 insertions(+), 34 deletions(-) diff --git a/Data/Sys/GameSettings/C.ini b/Data/Sys/GameSettings/C.ini index 084aa50d72..874b6257d0 100644 --- a/Data/Sys/GameSettings/C.ini +++ b/Data/Sys/GameSettings/C.ini @@ -11,5 +11,5 @@ EmulationIssues = [Video] [Video_Settings] -AspectRatio = 2 +SuggestedAspectRatio = 2 SafeTextureCacheColorSamples = 0 diff --git a/Data/Sys/GameSettings/E.ini b/Data/Sys/GameSettings/E.ini index f585371f1a..603b2b1f22 100644 --- a/Data/Sys/GameSettings/E.ini +++ b/Data/Sys/GameSettings/E.ini @@ -9,5 +9,5 @@ EmulationIssues = EmulationStateId = 4 [Video_Settings] -AspectRatio = 2 +SuggestedAspectRatio = 2 SafeTextureCacheColorSamples = 0 diff --git a/Data/Sys/GameSettings/F.ini b/Data/Sys/GameSettings/F.ini index 6479233e6d..330fa13e4f 100644 --- a/Data/Sys/GameSettings/F.ini +++ b/Data/Sys/GameSettings/F.ini @@ -9,7 +9,7 @@ EmulationIssues = Texture filtering will cause glitches. EmulationStateId = 4 [Video_Settings] -AspectRatio = 2 +SuggestedAspectRatio = 2 SafeTextureCacheColorSamples = 0 [Video_Hacks] diff --git a/Data/Sys/GameSettings/J.ini b/Data/Sys/GameSettings/J.ini index cf3f5a042e..b0dd2cb46f 100644 --- a/Data/Sys/GameSettings/J.ini +++ b/Data/Sys/GameSettings/J.ini @@ -9,5 +9,5 @@ EmulationIssues = EmulationStateId = 4 [Video_Settings] -AspectRatio = 2 +SuggestedAspectRatio = 2 SafeTextureCacheColorSamples = 0 diff --git a/Data/Sys/GameSettings/L.ini b/Data/Sys/GameSettings/L.ini index 5e19517f6f..5c9ae6ca7f 100644 --- a/Data/Sys/GameSettings/L.ini +++ b/Data/Sys/GameSettings/L.ini @@ -9,7 +9,7 @@ EmulationStateId = 4 EmulationIssues = [Video_Settings] -AspectRatio = 2 +SuggestedAspectRatio = 2 SafeTextureCacheColorSamples = 0 UseXFB = True UseRealXFB = True diff --git a/Data/Sys/GameSettings/M.ini b/Data/Sys/GameSettings/M.ini index 22f33439db..95f131a441 100644 --- a/Data/Sys/GameSettings/M.ini +++ b/Data/Sys/GameSettings/M.ini @@ -9,5 +9,5 @@ EmulationIssues = EmulationStateId = 4 [Video_Settings] -AspectRatio = 2 +SuggestedAspectRatio = 2 SafeTextureCacheColorSamples = 0 diff --git a/Data/Sys/GameSettings/N.ini b/Data/Sys/GameSettings/N.ini index d718a7aef5..0effba7558 100644 --- a/Data/Sys/GameSettings/N.ini +++ b/Data/Sys/GameSettings/N.ini @@ -1,4 +1,4 @@ # Nxxxxx - All Nintendo 64 Virtual Console games [Video_Settings] -AspectRatio = 2 +SuggestedAspectRatio = 2 diff --git a/Data/Sys/GameSettings/P.ini b/Data/Sys/GameSettings/P.ini index 91d832745b..c2187354e6 100644 --- a/Data/Sys/GameSettings/P.ini +++ b/Data/Sys/GameSettings/P.ini @@ -12,5 +12,5 @@ EmulationIssues = [Video] [Video_Settings] -AspectRatio = 2 +SuggestedAspectRatio = 2 SafeTextureCacheColorSamples = 0 diff --git a/Data/Sys/GameSettings/Q.ini b/Data/Sys/GameSettings/Q.ini index d0b962573d..a4fc3cfeb3 100644 --- a/Data/Sys/GameSettings/Q.ini +++ b/Data/Sys/GameSettings/Q.ini @@ -8,5 +8,5 @@ EmulationIssues = [Video] [Video_Settings] -AspectRatio = 2 +SuggestedAspectRatio = 2 SafeTextureCacheColorSamples = 0 diff --git a/Data/Sys/GameSettings/R55.ini b/Data/Sys/GameSettings/R55.ini index ff66bbb8fe..a9a5548acc 100644 --- a/Data/Sys/GameSettings/R55.ini +++ b/Data/Sys/GameSettings/R55.ini @@ -18,5 +18,5 @@ EmulationIssues = # Add action replay cheats here. [Video_Settings] -AspectRatio = 2 +SuggestedAspectRatio = 2 SafeTextureCacheColorSamples = 0 diff --git a/Data/Sys/GameSettings/RBI.ini b/Data/Sys/GameSettings/RBI.ini index db075c3e33..b9b664589c 100644 --- a/Data/Sys/GameSettings/RBI.ini +++ b/Data/Sys/GameSettings/RBI.ini @@ -18,4 +18,4 @@ EmulationIssues = # Add action replay cheats here. [Video_Settings] -AspectRatio = 2 +SuggestedAspectRatio = 2 diff --git a/Data/Sys/GameSettings/RBL.ini b/Data/Sys/GameSettings/RBL.ini index 6cabba3216..843150c855 100644 --- a/Data/Sys/GameSettings/RBL.ini +++ b/Data/Sys/GameSettings/RBL.ini @@ -18,4 +18,4 @@ EmulationIssues = # Add action replay cheats here. [Video_Settings] -AspectRatio = 2 +SuggestedAspectRatio = 2 diff --git a/Data/Sys/GameSettings/RBT.ini b/Data/Sys/GameSettings/RBT.ini index 3a317678bf..6d239c667f 100644 --- a/Data/Sys/GameSettings/RBT.ini +++ b/Data/Sys/GameSettings/RBT.ini @@ -18,4 +18,4 @@ EmulationIssues = # Add action replay cheats here. [Video_Settings] -AspectRatio = 2 +SuggestedAspectRatio = 2 diff --git a/Data/Sys/GameSettings/RCC.ini b/Data/Sys/GameSettings/RCC.ini index 79e0e9c0cf..fe72fe2403 100644 --- a/Data/Sys/GameSettings/RCC.ini +++ b/Data/Sys/GameSettings/RCC.ini @@ -18,4 +18,4 @@ EmulationIssues = # Add action replay cheats here. [Video_Settings] -AspectRatio = 2 +SuggestedAspectRatio = 2 diff --git a/Data/Sys/GameSettings/RCP.ini b/Data/Sys/GameSettings/RCP.ini index 3ec6ae0459..26fc42b601 100644 --- a/Data/Sys/GameSettings/RCP.ini +++ b/Data/Sys/GameSettings/RCP.ini @@ -18,4 +18,4 @@ EmulationIssues = # Add action replay cheats here. [Video_Settings] -AspectRatio = 2 +SuggestedAspectRatio = 2 diff --git a/Data/Sys/GameSettings/RDB.ini b/Data/Sys/GameSettings/RDB.ini index 9b42154506..6bf9f7705b 100644 --- a/Data/Sys/GameSettings/RDB.ini +++ b/Data/Sys/GameSettings/RDB.ini @@ -18,5 +18,5 @@ EmulationIssues = # Add action replay cheats here. [Video_Settings] -AspectRatio = 2 +SuggestedAspectRatio = 2 SafeTextureCacheColorSamples = 512 diff --git a/Data/Sys/GameSettings/RDS.ini b/Data/Sys/GameSettings/RDS.ini index 2f5b662b56..2de521fe40 100644 --- a/Data/Sys/GameSettings/RDS.ini +++ b/Data/Sys/GameSettings/RDS.ini @@ -18,5 +18,5 @@ EmulationIssues = # Add action replay cheats here. [Video_Settings] -AspectRatio = 2 +SuggestedAspectRatio = 2 SafeTextureCacheColorSamples = 512 diff --git a/Data/Sys/GameSettings/RG2.ini b/Data/Sys/GameSettings/RG2.ini index aee76fd286..d52dac1b90 100644 --- a/Data/Sys/GameSettings/RG2.ini +++ b/Data/Sys/GameSettings/RG2.ini @@ -18,4 +18,4 @@ EmulationIssues = # Add action replay cheats here. [Video_Settings] -AspectRatio = 2 +SuggestedAspectRatio = 2 diff --git a/Data/Sys/GameSettings/RGB.ini b/Data/Sys/GameSettings/RGB.ini index 0caafc74c3..ef8d471fce 100644 --- a/Data/Sys/GameSettings/RGB.ini +++ b/Data/Sys/GameSettings/RGB.ini @@ -18,4 +18,4 @@ EmulationIssues = # Add action replay cheats here. [Video_Settings] -AspectRatio = 2 +SuggestedAspectRatio = 2 diff --git a/Data/Sys/GameSettings/RGM.ini b/Data/Sys/GameSettings/RGM.ini index 7f10437514..db3632ded3 100644 --- a/Data/Sys/GameSettings/RGM.ini +++ b/Data/Sys/GameSettings/RGM.ini @@ -18,4 +18,4 @@ EmulationIssues = # Add action replay cheats here. [Video_Settings] -AspectRatio = 2 +SuggestedAspectRatio = 2 diff --git a/Data/Sys/GameSettings/RGS.ini b/Data/Sys/GameSettings/RGS.ini index a144f9b215..5284036bb0 100644 --- a/Data/Sys/GameSettings/RGS.ini +++ b/Data/Sys/GameSettings/RGS.ini @@ -18,4 +18,4 @@ EmulationIssues = # Add action replay cheats here. [Video_Settings] -AspectRatio = 2 +SuggestedAspectRatio = 2 diff --git a/Data/Sys/GameSettings/RI3.ini b/Data/Sys/GameSettings/RI3.ini index 831f04f341..064c12eb7a 100644 --- a/Data/Sys/GameSettings/RI3.ini +++ b/Data/Sys/GameSettings/RI3.ini @@ -18,4 +18,4 @@ EmulationIssues = # Add action replay cheats here. [Video_Settings] -AspectRatio = 2 +SuggestedAspectRatio = 2 diff --git a/Data/Sys/GameSettings/RKD.ini b/Data/Sys/GameSettings/RKD.ini index 377859a960..e0d9c29e3d 100644 --- a/Data/Sys/GameSettings/RKD.ini +++ b/Data/Sys/GameSettings/RKD.ini @@ -18,5 +18,5 @@ EmulationStateId = 5 # Add action replay cheats here. [Video_Settings] -AspectRatio = 2 +SuggestedAspectRatio = 2 SafeTextureCacheColorSamples = 512 diff --git a/Data/Sys/GameSettings/RLT.ini b/Data/Sys/GameSettings/RLT.ini index b7866750bd..9082953044 100644 --- a/Data/Sys/GameSettings/RLT.ini +++ b/Data/Sys/GameSettings/RLT.ini @@ -18,4 +18,4 @@ EmulationIssues = # Add action replay cheats here. [Video_Settings] -AspectRatio = 2 +SuggestedAspectRatio = 2 diff --git a/Data/Sys/GameSettings/RMP.ini b/Data/Sys/GameSettings/RMP.ini index 3d74eb40ec..b78565c26e 100644 --- a/Data/Sys/GameSettings/RMP.ini +++ b/Data/Sys/GameSettings/RMP.ini @@ -18,4 +18,4 @@ EmulationIssues = # Add action replay cheats here. [Video_Settings] -AspectRatio = 2 +SuggestedAspectRatio = 2 diff --git a/Data/Sys/GameSettings/RNX.ini b/Data/Sys/GameSettings/RNX.ini index 17b87a7e67..8af542f855 100644 --- a/Data/Sys/GameSettings/RNX.ini +++ b/Data/Sys/GameSettings/RNX.ini @@ -18,4 +18,4 @@ EmulationIssues = # Add action replay cheats here. [Video_Settings] -AspectRatio = 2 +SuggestedAspectRatio = 2 diff --git a/Data/Sys/GameSettings/ROD.ini b/Data/Sys/GameSettings/ROD.ini index 21187e43e7..7ec06f1b24 100644 --- a/Data/Sys/GameSettings/ROD.ini +++ b/Data/Sys/GameSettings/ROD.ini @@ -21,4 +21,4 @@ EmulationIssues = EFBEmulateFormatChanges = True [Video_Settings] -AspectRatio = 2 +SuggestedAspectRatio = 2 diff --git a/Data/Sys/GameSettings/RPG.ini b/Data/Sys/GameSettings/RPG.ini index f39b9c17d7..54dcc904fd 100644 --- a/Data/Sys/GameSettings/RPG.ini +++ b/Data/Sys/GameSettings/RPG.ini @@ -18,4 +18,4 @@ EmulationIssues = # Add action replay cheats here. [Video_Settings] -AspectRatio = 2 +SuggestedAspectRatio = 2 diff --git a/Data/Sys/GameSettings/RPY.ini b/Data/Sys/GameSettings/RPY.ini index 6c3928ce07..7fac7f6e02 100644 --- a/Data/Sys/GameSettings/RPY.ini +++ b/Data/Sys/GameSettings/RPY.ini @@ -18,4 +18,4 @@ EmulationIssues = # Add action replay cheats here. [Video_Settings] -AspectRatio = 2 +SuggestedAspectRatio = 2 diff --git a/Data/Sys/GameSettings/RQW.ini b/Data/Sys/GameSettings/RQW.ini index 60ec5914fb..050ef11909 100644 --- a/Data/Sys/GameSettings/RQW.ini +++ b/Data/Sys/GameSettings/RQW.ini @@ -18,4 +18,4 @@ EmulationIssues = # Add action replay cheats here. [Video_Settings] -AspectRatio = 2 +SuggestedAspectRatio = 2 diff --git a/Data/Sys/GameSettings/RRB.ini b/Data/Sys/GameSettings/RRB.ini index 2458acb33a..3e51493a34 100644 --- a/Data/Sys/GameSettings/RRB.ini +++ b/Data/Sys/GameSettings/RRB.ini @@ -19,4 +19,4 @@ EmulationIssues = Needs Synchronise GPU thread for stability. Use direct3d11 for # Add action replay cheats here. [Video_Settings] -AspectRatio = 2 +SuggestedAspectRatio = 2 diff --git a/Data/Sys/GameSettings/RS5.ini b/Data/Sys/GameSettings/RS5.ini index 28f4327ff0..1d2d026fcc 100644 --- a/Data/Sys/GameSettings/RS5.ini +++ b/Data/Sys/GameSettings/RS5.ini @@ -21,4 +21,4 @@ EmulationIssues = EFBEmulateFormatChanges = True [Video_Settings] -AspectRatio = 2 +SuggestedAspectRatio = 2 diff --git a/Data/Sys/GameSettings/RTR.ini b/Data/Sys/GameSettings/RTR.ini index 7d0c787e5a..c0e64fb508 100644 --- a/Data/Sys/GameSettings/RTR.ini +++ b/Data/Sys/GameSettings/RTR.ini @@ -18,4 +18,4 @@ EmulationIssues = # Add action replay cheats here. [Video_Settings] -AspectRatio = 2 +SuggestedAspectRatio = 2 diff --git a/Source/Core/Core/Config/GraphicsSettings.cpp b/Source/Core/Core/Config/GraphicsSettings.cpp index 205fdff401..3f9347c921 100644 --- a/Source/Core/Core/Config/GraphicsSettings.cpp +++ b/Source/Core/Core/Config/GraphicsSettings.cpp @@ -23,6 +23,8 @@ const ConfigInfo GFX_ADAPTER{{System::GFX, "Hardware", "Adapter"}, 0}; const ConfigInfo GFX_WIDESCREEN_HACK{{System::GFX, "Settings", "wideScreenHack"}, false}; const ConfigInfo GFX_ASPECT_RATIO{{System::GFX, "Settings", "AspectRatio"}, static_cast(ASPECT_AUTO)}; +const ConfigInfo GFX_SUGGESTED_ASPECT_RATIO{{System::GFX, "Settings", "SuggestedAspectRatio"}, + static_cast(ASPECT_AUTO)}; const ConfigInfo GFX_CROP{{System::GFX, "Settings", "Crop"}, false}; const ConfigInfo GFX_USE_XFB{{System::GFX, "Settings", "UseXFB"}, false}; const ConfigInfo GFX_USE_REAL_XFB{{System::GFX, "Settings", "UseRealXFB"}, false}; diff --git a/Source/Core/Core/Config/GraphicsSettings.h b/Source/Core/Core/Config/GraphicsSettings.h index 046675d058..a50ee253c0 100644 --- a/Source/Core/Core/Config/GraphicsSettings.h +++ b/Source/Core/Core/Config/GraphicsSettings.h @@ -21,6 +21,7 @@ extern const ConfigInfo GFX_ADAPTER; extern const ConfigInfo GFX_WIDESCREEN_HACK; extern const ConfigInfo GFX_ASPECT_RATIO; +extern const ConfigInfo GFX_SUGGESTED_ASPECT_RATIO; extern const ConfigInfo GFX_CROP; extern const ConfigInfo GFX_USE_XFB; extern const ConfigInfo GFX_USE_REAL_XFB; diff --git a/Source/Core/Core/ConfigLoaders/GameConfigLoader.cpp b/Source/Core/Core/ConfigLoaders/GameConfigLoader.cpp index 84b6f41267..8613595539 100644 --- a/Source/Core/Core/ConfigLoaders/GameConfigLoader.cpp +++ b/Source/Core/Core/ConfigLoaders/GameConfigLoader.cpp @@ -71,6 +71,7 @@ static const INIToLocationMap& GetINIToLocationMap() {{"Video_Settings", "wideScreenHack"}, {Config::GFX_WIDESCREEN_HACK.location}}, {{"Video_Settings", "AspectRatio"}, {Config::GFX_ASPECT_RATIO.location}}, + {{"Video_Settings", "SuggestedAspectRatio"}, {Config::GFX_SUGGESTED_ASPECT_RATIO.location}}, {{"Video_Settings", "Crop"}, {Config::GFX_CROP.location}}, {{"Video_Settings", "UseXFB"}, {Config::GFX_USE_XFB.location}}, {{"Video_Settings", "UseRealXFB"}, {Config::GFX_USE_REAL_XFB.location}}, diff --git a/Source/Core/VideoCommon/VideoConfig.cpp b/Source/Core/VideoCommon/VideoConfig.cpp index 9caab54603..fa6f4dc941 100644 --- a/Source/Core/VideoCommon/VideoConfig.cpp +++ b/Source/Core/VideoCommon/VideoConfig.cpp @@ -56,7 +56,11 @@ void VideoConfig::Refresh() iAdapter = Config::Get(Config::GFX_ADAPTER); bWidescreenHack = Config::Get(Config::GFX_WIDESCREEN_HACK); - iAspectRatio = Config::Get(Config::GFX_ASPECT_RATIO); + const int aspect_ratio = Config::Get(Config::GFX_ASPECT_RATIO); + if (aspect_ratio == ASPECT_AUTO) + iAspectRatio = Config::Get(Config::GFX_SUGGESTED_ASPECT_RATIO); + else + iAspectRatio = aspect_ratio; bCrop = Config::Get(Config::GFX_CROP); bUseXFB = Config::Get(Config::GFX_USE_XFB); bUseRealXFB = Config::Get(Config::GFX_USE_REAL_XFB);