diff --git a/OptiScaler/dllmain.cpp b/OptiScaler/dllmain.cpp index 52dac9b6..e6a54da2 100644 --- a/OptiScaler/dllmain.cpp +++ b/OptiScaler/dllmain.cpp @@ -1304,6 +1304,12 @@ static void printQuirks(flag_set& quirks) state->detectedQuirks.push_back("Set Hudless as ValidNow"); } + if (quirks & GameQuirk::DisableResizeSkip) + { + spdlog::info("Quirk: Disable Resize Skip"); + state->detectedQuirks.push_back("Disable Resize Skip"); + } + return; } @@ -1452,6 +1458,11 @@ static void CheckQuirks() Config::Instance()->FGHudlessValidNow.set_volatile_value(true); } + if (quirks & GameQuirk::DisableResizeSkip && !Config::Instance()->FGXeFGSkipResizeBuffers.has_value()) + { + Config::Instance()->FGXeFGSkipResizeBuffers.set_volatile_value(false); + } + // For Luma, we assume if Luma addon in game folder it's used const auto dir = Util::ExePath().parent_path(); bool lumaDetected = false; diff --git a/OptiScaler/misc/Quirks.h b/OptiScaler/misc/Quirks.h index bea4267d..d5fc598e 100644 --- a/OptiScaler/misc/Quirks.h +++ b/OptiScaler/misc/Quirks.h @@ -36,6 +36,7 @@ enum class GameQuirk : uint64_t SetDepthValidNow, SetVelocityValidNow, SetHudlessValidNow, + DisableResizeSkip, // Quirks that are applied deeper in code CyberpunkHudlessFixes, @@ -110,6 +111,9 @@ static const QuirkEntry quirkTable[] = { // Trails in the Sky 1st Chapter QUIRK_ENTRY("sora_1st.exe", GameQuirk::UseFsr2Dx11Inputs, GameQuirk::DisableDxgiSpoofing), + // Ninja Gaiden 4 (Steam) + QUIRK_ENTRY("ninjagaiden4-steam.exe", GameQuirk::DisableResizeSkip), + // The Last of Us Part I QUIRK_ENTRY("tlou-i.exe", GameQuirk::AllowedFrameAhead2), QUIRK_ENTRY("tlou-i-l.exe", GameQuirk::AllowedFrameAhead2),