diff options
| author | Pierre Bourdon <delroth@gmail.com> | 2018-11-09 04:28:31 +0100 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2018-11-09 04:28:31 +0100 |
| commit | 541c5ee996e4efe2b67ce58aff27633cb1104906 (patch) | |
| tree | 1e58493a54052ffe5783361a2b199d9bd9c45c5b /Source/Core/VideoCommon/RenderBase.cpp | |
| parent | 98d2e278b066a802296f96221859e0a497a08891 (diff) | |
| parent | a42432cae4c9a61dad6b0f8681ae6fe1945994a0 (diff) | |
Merge pull request #7550 from JosJuice/widescreen-hack-suggested-ratio
Fix the widescreen hack for Wii games with 4:3 forced in game INI
Diffstat (limited to 'Source/Core/VideoCommon/RenderBase.cpp')
| -rw-r--r-- | Source/Core/VideoCommon/RenderBase.cpp | 17 |
1 files changed, 13 insertions, 4 deletions
diff --git a/Source/Core/VideoCommon/RenderBase.cpp b/Source/Core/VideoCommon/RenderBase.cpp index 448b195a62..2e42ed984a 100644 --- a/Source/Core/VideoCommon/RenderBase.cpp +++ b/Source/Core/VideoCommon/RenderBase.cpp @@ -85,8 +85,7 @@ Renderer::Renderer(int backbuffer_width, int backbuffer_height) UpdateDrawRectangle(); CalculateTargetSize(); - if (SConfig::GetInstance().bWii) - m_aspect_wide = Config::Get(Config::SYSCONF_WIDESCREEN); + m_aspect_wide = SConfig::GetInstance().bWii && Config::Get(Config::SYSCONF_WIDESCREEN); m_last_host_config_bits = ShaderHostConfig::GetCurrent().bits; m_last_efb_multisamples = g_ActiveConfig.iMultisamples; @@ -639,9 +638,19 @@ void Renderer::RecordVideoMemory() void Renderer::Swap(u32 xfbAddr, u32 fbWidth, u32 fbStride, u32 fbHeight, const EFBRectangle& rc, u64 ticks) { - // Heuristic to detect if a GameCube game is in 16:9 anamorphic widescreen mode. - if (!SConfig::GetInstance().bWii) + const AspectMode suggested = g_ActiveConfig.suggested_aspect_mode; + if (suggested == AspectMode::Analog || suggested == AspectMode::AnalogWide) + { + m_aspect_wide = suggested == AspectMode::AnalogWide; + } + else if (SConfig::GetInstance().bWii) + { + m_aspect_wide = Config::Get(Config::SYSCONF_WIDESCREEN); + } + else { + // Heuristic to detect if a GameCube game is in 16:9 anamorphic widescreen mode. + size_t flush_count_4_3, flush_count_anamorphic; std::tie(flush_count_4_3, flush_count_anamorphic) = g_vertex_manager->ResetFlushAspectRatioCount(); |
