diff --git a/OptiScaler/State.h b/OptiScaler/State.h index 59f7e24c..2ae696d3 100644 --- a/OptiScaler/State.h +++ b/OptiScaler/State.h @@ -16,7 +16,8 @@ typedef enum GameQuirk Other, Cyberpunk, FMF2, - RDR1 + RDR1, + Banishers } GameQuirk; class State { diff --git a/OptiScaler/dllmain.cpp b/OptiScaler/dllmain.cpp index d1eb5f11..174652fd 100644 --- a/OptiScaler/dllmain.cpp +++ b/OptiScaler/dllmain.cpp @@ -2148,13 +2148,14 @@ static void CheckQuirks() { // Disabled OptiFG for now Config::Instance()->FGUseFGSwapChain.set_volatile_value(false); + Config::Instance()->DLSSGMod.set_volatile_value(true); - LOG_INFO("Enabling a quirk for Cyberpunk"); + LOG_INFO("Enabling a quirk for Cyberpunk (Disable FSR-FG Swapchain & enable DLSS-G fix)"); } else if (exePathFilename == "FMF2-Win64-Shipping.exe") { State::Instance().gameQuirk = FMF2; - LOG_INFO("Enabling a quirk for FMF2"); + LOG_INFO("Enabling a quirk for FMF2 (Disable FSR3 Hooks)"); } else if (exePathFilename == "RDR.exe" || exePathFilename == "PlayRDR.exe") { @@ -2162,6 +2163,12 @@ static void CheckQuirks() { Config::Instance()->FGUseFGSwapChain.set_volatile_value(false); LOG_INFO("Enabling a quirk for RDR1 (Disable FSR-FG Swapchain)"); } + else if (exePathFilename == "Banishers-Win64-Shipping.exe") + { + State::Instance().gameQuirk = Banishers; + Config::Instance()->Fsr2Pattern.set_volatile_value(false); + LOG_INFO("Enabling a quirk for Banishers (Disable FSR2 Inputs)"); + } } BOOL APIENTRY DllMain(HMODULE hModule, DWORD ul_reason_for_call, LPVOID lpReserved) @@ -2214,6 +2221,9 @@ BOOL APIENTRY DllMain(HMODULE hModule, DWORD ul_reason_for_call, LPVOID lpReserv State::Instance().isRunningOnDXVK = State::Instance().isRunningOnLinux; skipGetModuleHandle = false; + spdlog::info(""); + CheckQuirks(); + // Check if real DLSS available if (Config::Instance()->DLSSEnabled.value_or_default()) { @@ -2280,11 +2290,9 @@ BOOL APIENTRY DllMain(HMODULE hModule, DWORD ul_reason_for_call, LPVOID lpReserv if (handle != nullptr) HookFSR2Dx12Inputs(handle); - HookFSR2ExeInputs(); + spdlog::info(""); - spdlog::info(""); - CheckQuirks(); - spdlog::info(""); + HookFSR2ExeInputs(); handle = GetModuleHandle(fsr3NamesW[0].c_str()); if (handle != nullptr)