Added more quirks & quirk options

This commit is contained in:
cdozdil
2025-07-01 21:41:22 +03:00
parent 03b21c5a5b
commit b77f428b3f
2 changed files with 43 additions and 16 deletions
+6
View File
@@ -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
View File
@@ -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");