diff options
| author | Admiral H. Curtiss <pikachu025@gmail.com> | 2023-12-18 05:19:06 +0100 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2023-12-18 05:19:06 +0100 |
| commit | 715a551daccc2a8e782089f7a70902ddf1a91a09 (patch) | |
| tree | 7a2ccaa8e55d0718846140e2f45bad4f0ad96ce0 /Source/Core/VideoCommon/Widescreen.cpp | |
| parent | de8bc32dc53a4821a97e5dccb37527598fe98c6c (diff) | |
| parent | a6dfeed3189b43a2267f5819e91e7a1c105ef3a9 (diff) | |
Merge pull request #12170 from Filoppi/custom_aspect_ratio
Add support for custom aspect ratios
Diffstat (limited to 'Source/Core/VideoCommon/Widescreen.cpp')
| -rw-r--r-- | Source/Core/VideoCommon/Widescreen.cpp | 16 |
1 files changed, 9 insertions, 7 deletions
diff --git a/Source/Core/VideoCommon/Widescreen.cpp b/Source/Core/VideoCommon/Widescreen.cpp index 4ca1ac3ccd..8b63082525 100644 --- a/Source/Core/VideoCommon/Widescreen.cpp +++ b/Source/Core/VideoCommon/Widescreen.cpp @@ -36,23 +36,24 @@ void WidescreenManager::Update() m_is_game_widescreen = Config::Get(Config::SYSCONF_WIDESCREEN); // suggested_aspect_mode overrides SYSCONF_WIDESCREEN - if (g_ActiveConfig.suggested_aspect_mode == AspectMode::Analog) + if (g_ActiveConfig.suggested_aspect_mode == AspectMode::ForceStandard) m_is_game_widescreen = false; - else if (g_ActiveConfig.suggested_aspect_mode == AspectMode::AnalogWide) + else if (g_ActiveConfig.suggested_aspect_mode == AspectMode::ForceWide) m_is_game_widescreen = true; // If widescreen hack is disabled override game's AR if UI is set to 4:3 or 16:9. if (!g_ActiveConfig.bWidescreenHack) { const auto aspect_mode = g_ActiveConfig.aspect_mode; - if (aspect_mode == AspectMode::Analog) + if (aspect_mode == AspectMode::ForceStandard) m_is_game_widescreen = false; - else if (aspect_mode == AspectMode::AnalogWide) + else if (aspect_mode == AspectMode::ForceWide) m_is_game_widescreen = true; } } // Heuristic to detect if a GameCube game is in 16:9 anamorphic widescreen mode. +// Cheats that change the game aspect ratio to natively unsupported ones won't be recognized here. void WidescreenManager::UpdateWidescreenHeuristic() { const auto flush_statistics = g_vertex_manager->ResetFlushAspectRatioCount(); @@ -63,9 +64,10 @@ void WidescreenManager::UpdateWidescreenHeuristic() Update(); - // If widescreen hack isn't active and aspect_mode (UI) is 4:3 or 16:9 don't use heuristic. - if (!g_ActiveConfig.bWidescreenHack && (g_ActiveConfig.aspect_mode == AspectMode::Analog || - g_ActiveConfig.aspect_mode == AspectMode::AnalogWide)) + // If widescreen hack isn't active and aspect_mode (user setting) + // is set to a forced aspect ratio, don't use heuristic. + if (!g_ActiveConfig.bWidescreenHack && (g_ActiveConfig.aspect_mode == AspectMode::ForceStandard || + g_ActiveConfig.aspect_mode == AspectMode::ForceWide)) return; // Modify the threshold based on which aspect ratio we're already using: |
