diff --git a/Source/Android/app/src/main/res/values/arrays.xml b/Source/Android/app/src/main/res/values/arrays.xml index 7aa538e46e..b62062ff35 100644 --- a/Source/Android/app/src/main/res/values/arrays.xml +++ b/Source/Android/app/src/main/res/values/arrays.xml @@ -225,6 +225,7 @@ Force 16:9 Force 4:3 Stretch To Window + Force 73:60 (Melee) 0 diff --git a/Source/Core/Core/Config/GraphicsSettings.cpp b/Source/Core/Core/Config/GraphicsSettings.cpp index f8755042d7..72055d4e11 100644 --- a/Source/Core/Core/Config/GraphicsSettings.cpp +++ b/Source/Core/Core/Config/GraphicsSettings.cpp @@ -21,9 +21,9 @@ const Info GFX_ADAPTER{{System::GFX, "Hardware", "Adapter"}, 0}; // Graphics.Settings const Info GFX_WIDESCREEN_HACK{{System::GFX, "Settings", "wideScreenHack"}, false}; -const Info GFX_ASPECT_RATIO{{System::GFX, "Settings", "AspectRatio"}, AspectMode::Auto}; +const Info GFX_ASPECT_RATIO{{System::GFX, "Settings", "AspectRatio"}, AspectMode::Melee}; const Info GFX_SUGGESTED_ASPECT_RATIO{{System::GFX, "Settings", "SuggestedAspectRatio"}, - AspectMode::Auto}; + AspectMode::Melee}; const Info GFX_CROP{{System::GFX, "Settings", "Crop"}, false}; const Info GFX_SAFE_TEXTURE_CACHE_COLOR_SAMPLES{ {System::GFX, "Settings", "SafeTextureCacheColorSamples"}, 128}; diff --git a/Source/Core/DolphinQt/Config/Graphics/GeneralWidget.cpp b/Source/Core/DolphinQt/Config/Graphics/GeneralWidget.cpp index eeefbf7ddb..2b03243193 100644 --- a/Source/Core/DolphinQt/Config/Graphics/GeneralWidget.cpp +++ b/Source/Core/DolphinQt/Config/Graphics/GeneralWidget.cpp @@ -56,7 +56,7 @@ void GeneralWidget::CreateWidgets() m_backend_combo = new QComboBox(); m_aspect_combo = - new GraphicsChoice({tr("Auto"), tr("Force 16:9"), tr("Force 4:3"), tr("Stretch to Window")}, + new GraphicsChoice({tr("Auto"), tr("Force 16:9"), tr("Force 4:3"), tr("Stretch to Window"), tr("Force 73:60 (Melee)") }, Config::GFX_ASPECT_RATIO); m_adapter_combo = new QComboBox; m_enable_vsync = new GraphicsBool(tr("V-Sync"), Config::GFX_VSYNC); @@ -222,7 +222,7 @@ void GeneralWidget::AddDescriptions() "Selects which aspect ratio to use when rendering.\n\nAuto: Uses the native aspect " "ratio\nForce 16:9: Mimics an analog TV with a widescreen aspect ratio.\nForce 4:3: " "Mimics a standard 4:3 analog TV.\nStretch to Window: Stretches the picture to the " - "window size.\n\nIf unsure, select Auto."); + "window size.\nForce 73:60 (Melee): Melee's standard resolution\nIf unsure, select Force 73:60 (Melee)."); static const char TR_VSYNC_DESCRIPTION[] = QT_TR_NOOP("Waits for vertical blanks in order to prevent tearing.\n\nDecreases performance " "if emulation speed is below 100%.\n\nIf unsure, leave this unchecked."); diff --git a/Source/Core/DolphinQt/HotkeyScheduler.cpp b/Source/Core/DolphinQt/HotkeyScheduler.cpp index 007c536972..d1637ca6b7 100644 --- a/Source/Core/DolphinQt/HotkeyScheduler.cpp +++ b/Source/Core/DolphinQt/HotkeyScheduler.cpp @@ -387,9 +387,12 @@ void HotkeyScheduler::Run() OSD::AddMessage("Force 16:9"); break; case AspectMode::Auto: - default: OSD::AddMessage("Auto"); break; + case AspectMode::Melee: + default: + OSD::AddMessage("Force 73:60 (Melee)"); + break; } } if (IsHotkey(HK_TOGGLE_EFBCOPIES)) diff --git a/Source/Core/VideoCommon/BPStructs.cpp b/Source/Core/VideoCommon/BPStructs.cpp index dcf0dd264a..42ab36795e 100644 --- a/Source/Core/VideoCommon/BPStructs.cpp +++ b/Source/Core/VideoCommon/BPStructs.cpp @@ -276,6 +276,7 @@ static void BPWritten(const BPCmd& bp) } else { + if (destAddr == 0x0) { destAddr = 0x4f0c00; } // We should be able to get away with deactivating the current bbox tracking // here. Not sure if there's a better spot to put this. // the number of lines copied is determined by the y scale * source efb height diff --git a/Source/Core/VideoCommon/RenderBase.cpp b/Source/Core/VideoCommon/RenderBase.cpp index cc00a5a9e8..bdd7cd5ec5 100644 --- a/Source/Core/VideoCommon/RenderBase.cpp +++ b/Source/Core/VideoCommon/RenderBase.cpp @@ -583,6 +583,9 @@ float Renderer::CalculateDrawAspectRatio() const { const auto aspect_mode = g_ActiveConfig.aspect_mode; + if (aspect_mode == AspectMode::Melee) + return (static_cast(73) / static_cast(60)); + // If stretch is enabled, we prefer the aspect ratio of the window. if (aspect_mode == AspectMode::Stretch) return (static_cast(m_backbuffer_width) / static_cast(m_backbuffer_height)); diff --git a/Source/Core/VideoCommon/VideoConfig.h b/Source/Core/VideoCommon/VideoConfig.h index ee0951180a..753bb64858 100644 --- a/Source/Core/VideoCommon/VideoConfig.h +++ b/Source/Core/VideoCommon/VideoConfig.h @@ -31,6 +31,7 @@ enum class AspectMode : int AnalogWide, Analog, Stretch, + Melee }; enum class StereoMode : int