From afcd70e4b1e1e2cfadd95f0e19a8d892645ff12a Mon Sep 17 00:00:00 2001 From: lizzie Date: Sat, 6 Jun 2026 04:50:40 +0000 Subject: [PATCH] fix for scaling filter --- src/common/settings_enums.h | 4 ++-- src/yuzu/main_window.cpp | 14 ++++++-------- 2 files changed, 8 insertions(+), 10 deletions(-) diff --git a/src/common/settings_enums.h b/src/common/settings_enums.h index da142e8e1c..a71cf2141c 100644 --- a/src/common/settings_enums.h +++ b/src/common/settings_enums.h @@ -145,8 +145,8 @@ ENUM(ConfirmStop, Ask_Always, Ask_Based_On_Game, Ask_Never); ENUM(FullscreenMode, Borderless, Exclusive); ENUM(NvdecEmulation, Off, Cpu, Gpu); ENUM(ResolutionSetup, Res1_4X, Res1_2X, Res3_4X, Res1X, Res5_4X, Res3_2X, Res2X, Res3X, Res4X, Res5X, Res6X, Res7X, Res8X); -ENUM(ScalingFilter, NearestNeighbor, Bilinear, Bicubic, Gaussian, Lanczos, ScaleForce, Fsr, Area, ZeroTangent, BSpline, Mitchell, Spline1, Mmpx, Sgsr, SgsrEdge, MaxEnum); -ENUM(AntiAliasing, None, Fxaa, Smaa, MaxEnum); +ENUM(ScalingFilter, NearestNeighbor, Bilinear, Bicubic, Gaussian, Lanczos, ScaleForce, Fsr, Area, ZeroTangent, BSpline, Mitchell, Spline1, Mmpx, Sgsr, SgsrEdge); +ENUM(AntiAliasing, None, Fxaa, Smaa); ENUM(AspectRatio, R16_9, R4_3, R21_9, R16_10, Stretch); ENUM(ConsoleMode, Handheld, Docked); ENUM(AppletMode, HLE, LLE); diff --git a/src/yuzu/main_window.cpp b/src/yuzu/main_window.cpp index 8c362d229b..153df0b06e 100644 --- a/src/yuzu/main_window.cpp +++ b/src/yuzu/main_window.cpp @@ -1088,10 +1088,9 @@ void MainWindow::InitializeWidgets() { aa_status_button->setFocusPolicy(Qt::NoFocus); connect(aa_status_button, &QPushButton::clicked, [&] { auto aa_mode = Settings::values.anti_aliasing.GetValue(); - aa_mode = static_cast(static_cast(aa_mode) + 1); - if (aa_mode == Settings::AntiAliasing::MaxEnum) { - aa_mode = Settings::AntiAliasing::None; - } + aa_mode = Settings::AntiAliasing(u32(aa_mode) + 1); + if (u32(aa_mode) > u32(Settings::EnumMetadata::GetLast())) + aa_mode = Settings::EnumMetadata::GetFirst(); Settings::values.anti_aliasing.SetValue(aa_mode); aa_status_button->setChecked(true); UpdateAAText(); @@ -3623,10 +3622,9 @@ void MainWindow::OnIncreaseVolume() { void MainWindow::OnToggleAdaptingFilter() { auto filter = Settings::values.scaling_filter.GetValue(); - filter = static_cast(static_cast(filter) + 1); - if (filter == Settings::ScalingFilter::MaxEnum) { - filter = Settings::ScalingFilter::NearestNeighbor; - } + filter = Settings::ScalingFilter(u32(filter) + 1); + if (u32(filter) > u32(Settings::EnumMetadata::GetLast())) + filter = Settings::EnumMetadata::GetFirst(); Settings::values.scaling_filter.SetValue(filter); filter_status_button->setChecked(true); UpdateFilterText();