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