From cb9654651a8f7d7c12fe7a7604d728f05240f7c2 Mon Sep 17 00:00:00 2001 From: niansa Date: Sat, 9 Mar 2024 19:03:08 +0100 Subject: [PATCH] Added 32:9 aspect ratio --- src/common/settings_enums.h | 2 +- src/core/frontend/framebuffer_layout.cpp | 2 ++ src/core/frontend/framebuffer_layout.h | 1 + src/suyu/configuration/shared_translation.cpp | 1 + src/suyu/uisettings.cpp | 2 ++ 5 files changed, 7 insertions(+), 1 deletion(-) diff --git a/src/common/settings_enums.h b/src/common/settings_enums.h index 6e247e9306..fabae6d687 100644 --- a/src/common/settings_enums.h +++ b/src/common/settings_enums.h @@ -149,7 +149,7 @@ ENUM(ScalingFilter, NearestNeighbor, Bilinear, Bicubic, Gaussian, ScaleForce, Fs ENUM(AntiAliasing, None, Fxaa, Smaa, MaxEnum); -ENUM(AspectRatio, R16_9, R4_3, R21_9, R16_10, Stretch); +ENUM(AspectRatio, R16_9, R4_3, R21_9, R16_10, R32_9, Stretch); ENUM(ConsoleMode, Handheld, Docked); diff --git a/src/core/frontend/framebuffer_layout.cpp b/src/core/frontend/framebuffer_layout.cpp index 2590b20da4..84281a68fc 100644 --- a/src/core/frontend/framebuffer_layout.cpp +++ b/src/core/frontend/framebuffer_layout.cpp @@ -70,6 +70,8 @@ float EmulationAspectRatio(AspectRatio aspect, float window_aspect_ratio) { return 9.0f / 21.0f; case AspectRatio::R16_10: return 10.0f / 16.0f; + case AspectRatio::R32_9: + return 9.0f / 32.0f; case AspectRatio::StretchToWindow: return window_aspect_ratio; default: diff --git a/src/core/frontend/framebuffer_layout.h b/src/core/frontend/framebuffer_layout.h index 94683b30f2..3c7258de30 100644 --- a/src/core/frontend/framebuffer_layout.h +++ b/src/core/frontend/framebuffer_layout.h @@ -28,6 +28,7 @@ enum class AspectRatio { R4_3, R21_9, R16_10, + R32_9, StretchToWindow, }; diff --git a/src/suyu/configuration/shared_translation.cpp b/src/suyu/configuration/shared_translation.cpp index 8e3aea9962..0e4d13bc64 100644 --- a/src/suyu/configuration/shared_translation.cpp +++ b/src/suyu/configuration/shared_translation.cpp @@ -406,6 +406,7 @@ std::unique_ptr ComboboxEnumeration(QWidget* parent) { PAIR(AspectRatio, R4_3, tr("Force 4:3")), PAIR(AspectRatio, R21_9, tr("Force 21:9")), PAIR(AspectRatio, R16_10, tr("Force 16:10")), + PAIR(AspectRatio, R32_9, tr("Force 32:9")), PAIR(AspectRatio, Stretch, tr("Stretch to Window")), }}); translations->insert({Settings::EnumMetadata::Index(), diff --git a/src/suyu/uisettings.cpp b/src/suyu/uisettings.cpp index fed62f8123..0bdf944f9a 100644 --- a/src/suyu/uisettings.cpp +++ b/src/suyu/uisettings.cpp @@ -47,6 +47,8 @@ u32 CalculateWidth(u32 height, Settings::AspectRatio ratio) { return height * 21 / 9; case Settings::AspectRatio::R16_10: return height * 16 / 10; + case Settings::AspectRatio::R32_9: + return height * 32 / 9; case Settings::AspectRatio::R16_9: case Settings::AspectRatio::Stretch: // TODO: Move this function wherever appropriate to implement Stretched aspect