mirror of
https://github.com/optiscaler/OptiScaler.git
synced 2026-05-04 08:41:43 +00:00
Added more quirks & quirk options
This commit is contained in:
@@ -943,6 +943,12 @@ static void CheckQuirks()
|
||||
Config::Instance()->RestoreComputeSignature.set_volatile_value(true);
|
||||
}
|
||||
|
||||
if (quirks & GameQuirk::DisableReactiveMasks)
|
||||
Config::Instance()->DisableReactiveMask.set_volatile_value(true);
|
||||
|
||||
if (quirks & GameQuirk::ForceAutoExposure)
|
||||
Config::Instance()->AutoExposure.set_volatile_value(true);
|
||||
|
||||
State::Instance().gameQuirks = quirks;
|
||||
}
|
||||
|
||||
|
||||
+37
-16
@@ -12,6 +12,8 @@ enum class GameQuirk : uint64_t
|
||||
DisableFSR2Inputs,
|
||||
DisableFFXInputs,
|
||||
RestoreComputeSigOnNonNvidia,
|
||||
ForceAutoExposure,
|
||||
DisableReactiveMasks,
|
||||
|
||||
// Quirks that are applied deeper in code
|
||||
CyberpunkHudlessStateOverride,
|
||||
@@ -42,10 +44,6 @@ static const QuirkEntry quirkTable[] = {
|
||||
QUIRK_ENTRY("rdr.exe", GameQuirk::SkipFsr3Method, GameQuirk::ForceNoOptiFG),
|
||||
QUIRK_ENTRY("playrdr.exe", GameQuirk::SkipFsr3Method, GameQuirk::ForceNoOptiFG),
|
||||
|
||||
// Red Dead Redemption 2
|
||||
QUIRK_ENTRY("rdr.exe2", GameQuirk::DisableFSR2Inputs),
|
||||
QUIRK_ENTRY("playrdr2.exe", GameQuirk::DisableFSR2Inputs),
|
||||
|
||||
// No Man's Sky
|
||||
QUIRK_ENTRY("nms.exe", GameQuirk::KernelBaseHooks, GameQuirk::VulkanDLSSBarrierFixup),
|
||||
|
||||
@@ -68,39 +66,56 @@ static const QuirkEntry quirkTable[] = {
|
||||
QUIRK_ENTRY("dd2ccs.exe", GameQuirk::RestoreComputeSigOnNonNvidia),
|
||||
QUIRK_ENTRY("dd2.exe", GameQuirk::RestoreComputeSigOnNonNvidia),
|
||||
|
||||
// Red Dead Redemption 2
|
||||
QUIRK_ENTRY("rdr.exe2", GameQuirk::DisableFSR2Inputs, GameQuirk::DisableFSR3Inputs),
|
||||
QUIRK_ENTRY("playrdr2.exe", GameQuirk::DisableFSR2Inputs, GameQuirk::DisableFSR3Inputs),
|
||||
|
||||
// Forgive Me Father 2
|
||||
QUIRK_ENTRY("fmf2-win64-shipping.exe", GameQuirk::DisableFSR3Inputs),
|
||||
QUIRK_ENTRY("fmf2-win64-shipping.exe", GameQuirk::DisableFSR2Inputs, GameQuirk::DisableFSR3Inputs),
|
||||
|
||||
// Revenge of the Savage Planet
|
||||
QUIRK_ENTRY("towers-win64-shipping.exe", GameQuirk::DisableFSR3Inputs),
|
||||
QUIRK_ENTRY("towers-win64-shipping.exe", GameQuirk::DisableFSR2Inputs, GameQuirk::DisableFSR3Inputs),
|
||||
|
||||
// Avatar: Frontiers of Pandora
|
||||
QUIRK_ENTRY("afop.exe", GameQuirk::DisableFSR3Inputs),
|
||||
QUIRK_ENTRY("afop.exe", GameQuirk::DisableFSR2Inputs, GameQuirk::DisableFSR3Inputs),
|
||||
|
||||
// Forza Motorsport 8
|
||||
QUIRK_ENTRY("forza_steamworks_release_final.exe", GameQuirk::DisableFSR2Inputs), // Steam
|
||||
QUIRK_ENTRY("forza_gaming.desktop.x64_release_final.exe", GameQuirk::DisableFSR2Inputs), // MS Store
|
||||
QUIRK_ENTRY("forza_steamworks_release_final.exe", GameQuirk::DisableFSR2Inputs,
|
||||
GameQuirk::DisableFSR3Inputs), // Steam
|
||||
QUIRK_ENTRY("forza_gaming.desktop.x64_release_final.exe", GameQuirk::DisableFSR2Inputs,
|
||||
GameQuirk::DisableFSR3Inputs), // MS Store
|
||||
|
||||
// F1 22
|
||||
QUIRK_ENTRY("f1_22.exe", GameQuirk::DisableFSR2Inputs),
|
||||
QUIRK_ENTRY("f1_22.exe", GameQuirk::DisableFSR2Inputs, GameQuirk::DisableFSR3Inputs),
|
||||
|
||||
// Metal Eden
|
||||
QUIRK_ENTRY("metaleden-win64-shipping.exe", GameQuirk::DisableFSR3Inputs),
|
||||
QUIRK_ENTRY("metaleden-win64-shipping.exe", GameQuirk::DisableFSR2Inputs, GameQuirk::DisableFSR3Inputs),
|
||||
|
||||
// Until Dawn
|
||||
QUIRK_ENTRY("bates-win64-shipping.exe", GameQuirk::DisableFSR3Inputs),
|
||||
QUIRK_ENTRY("bates-win64-shipping.exe", GameQuirk::DisableFSR2Inputs, GameQuirk::DisableFSR3Inputs),
|
||||
|
||||
// Bloom and Rage
|
||||
QUIRK_ENTRY("bloom&rage.exe", GameQuirk::DisableFSR3Inputs),
|
||||
QUIRK_ENTRY("bloom&rage.exe", GameQuirk::DisableFSR2Inputs, GameQuirk::DisableFSR3Inputs),
|
||||
|
||||
// Star Wars: Outlaws
|
||||
QUIRK_ENTRY("outlaws.exe", GameQuirk::DisableFSR3Inputs),
|
||||
QUIRK_ENTRY("outlaws_plus.exe", GameQuirk::DisableFSR3Inputs),
|
||||
QUIRK_ENTRY("outlaws.exe", GameQuirk::DisableFSR2Inputs, GameQuirk::DisableFSR3Inputs),
|
||||
QUIRK_ENTRY("outlaws_plus.exe", GameQuirk::DisableFSR2Inputs, GameQuirk::DisableFSR3Inputs),
|
||||
|
||||
// Banishers
|
||||
QUIRK_ENTRY("banishers-win64-shipping.exe", GameQuirk::DisableFSR2Inputs, GameQuirk::DisableFSR3Inputs),
|
||||
|
||||
// Tiny Tina's Wonderlands
|
||||
QUIRK_ENTRY("wonderlands.exe", GameQuirk::DisableReactiveMasks),
|
||||
|
||||
// Dead Island 2
|
||||
QUIRK_ENTRY("deadisland-win64-shipping.exe", GameQuirk::DisableReactiveMasks),
|
||||
|
||||
// STAR WARS Jedi: Survivor™
|
||||
QUIRK_ENTRY("jedisurvivor.exe", GameQuirk::ForceAutoExposure),
|
||||
|
||||
// Self-explanatory
|
||||
QUIRK_ENTRY("cyberpunk2077.exe", GameQuirk::CyberpunkHudlessStateOverride, GameQuirk::ForceNoOptiFG),
|
||||
QUIRK_ENTRY("persistence-win64-shipping.exe", GameQuirk::ForceUnrealEngine),
|
||||
QUIRK_ENTRY("banishers-win64-shipping.exe", GameQuirk::DisableFSR2Inputs),
|
||||
QUIRK_ENTRY("splitfiction.exe", GameQuirk::FastFeatureReset),
|
||||
QUIRK_ENTRY("minecraft.windows.exe", GameQuirk::KernelBaseHooks),
|
||||
};
|
||||
@@ -140,10 +155,16 @@ static void printQuirks(flag_set<GameQuirk>& quirks)
|
||||
spdlog::info("Quirk: Force detected engine as Unreal Engine");
|
||||
if (quirks & GameQuirk::ForceNoOptiFG)
|
||||
spdlog::info("Quirk: Disabling OptiFG");
|
||||
if (quirks & GameQuirk::ForceAutoExposure)
|
||||
spdlog::info("Quirk: Enabling AutoExposure");
|
||||
if (quirks & GameQuirk::DisableFFXInputs)
|
||||
spdlog::info("Quirk: Disable FSR 3.1 Inputs");
|
||||
if (quirks & GameQuirk::DisableFSR3Inputs)
|
||||
spdlog::info("Quirk: Disable FSR 3.0 Inputs");
|
||||
if (quirks & GameQuirk::DisableFSR2Inputs)
|
||||
spdlog::info("Quirk: Disable FSR 2.X Inputs");
|
||||
if (quirks & GameQuirk::DisableReactiveMasks)
|
||||
spdlog::info("Quirk: Disable Reactive Masks");
|
||||
if (quirks & GameQuirk::RestoreComputeSigOnNonNvidia)
|
||||
spdlog::info("Quirk: Enabling restore compute signature on AMD/Intel");
|
||||
|
||||
|
||||
Reference in New Issue
Block a user