Skip to content

Commit bd65134

Browse files
committed
Added The Sinking City 2 support
* The Sinking City 2 - DLSS + DLSSG patch
1 parent 846916b commit bd65134

2 files changed

Lines changed: 19 additions & 5 deletions

File tree

GameSupport.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -182,7 +182,7 @@ TEMPLATE FOR NEW ENTRIES
182182
| The Outer Worlds 2 | ✔️ || |
183183
| The Persistence | ✔️ | N/A | |
184184
| The Sinking City Remastered | ✔️ || |
185-
| The Sinking City 2 Demo | ✔️ || |
185+
| The Sinking City 2 | ✔️ || |
186186
| The Talos Principle 2 | ✔️ || |
187187
| The Talos Principle: Reawakened | ✔️ || |
188188
| The Thaumaturge | ✔️ || |

OptiPatcher/dllmain.cpp

Lines changed: 18 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1234,9 +1234,9 @@ static void CheckForPatch()
12341234
}
12351235
}
12361236

1237-
// High On Life 2 (+ WinGDK), Far Far West, ROUTINE, Samson, VOID/BREAKER, The Sinking City 2 Demo
1237+
// High On Life 2 (+ WinGDK), Far Far West, ROUTINE, Samson, VOID/BREAKER
12381238
else if (CHECK_UE(highonlife2) || CHECK_UE(farfarwest) || CHECK_UE(routine) || CHECK_UE(cjsteam) ||
1239-
CHECK_UE(voidbreaker) || exeName == "thesinkingcity2demo.exe")
1239+
CHECK_UE(voidbreaker))
12401240
{
12411241
std::string_view pattern("44 8B ? ? ? ? ? BA ? ? 00 00 84 C0 75");
12421242
auto patchAddress = (void*) scanner::GetAddress(exeModule, pattern, 12);
@@ -1467,6 +1467,20 @@ static void CheckForPatch()
14671467
}
14681468
}
14691469

1470+
// The Sinking City 2
1471+
else if (exeName == "thesinkingcity2.exe")
1472+
{
1473+
std::string_view pattern("BA E4 1A 00 00 84 C0 75");
1474+
auto patchAddress = (void*) scanner::GetAddress(exeModule, pattern, 5);
1475+
1476+
if (patchAddress != nullptr)
1477+
{
1478+
std::vector<BYTE> patch = { 0x0C, 0x01 };
1479+
patcher::PatchAddress(patchAddress, &patch);
1480+
_patchResult = true;
1481+
}
1482+
}
1483+
14701484
// DOOM Eternal
14711485
// just nops a line for main game exe
14721486
else if (exeName == "doometernalx64vk.exe")
@@ -1631,14 +1645,14 @@ static void CheckForPatch()
16311645
// Assetto Corsa Rally, SpongeBob SquarePants: Titans of the Tide, Styx: Blades of Greed (+ Demo), ROMEO IS A DEAD
16321646
// MAN, High On Life 2, Far Far West, Solasta II, I Am Jesus Christ, Samson, Star Trek: Voyager - Across the
16331647
// Unknown, Super Meat Boy 3D, Dead as Disco, Conan Exiles Enhanced, Deep Rock Galactic: Rogue Core, Grounded 2,
1634-
// Fatekeeper, Gothic 1 Remake, Mortal Shell 2, The Sinking City 2 Demo, DragonSword : Awakening, The Mound: Omen of
1648+
// Fatekeeper, Gothic 1 Remake, Mortal Shell 2, The Sinking City 2, DragonSword : Awakening, The Mound: Omen of
16351649
// Cthulhu
16361650
else if (CHECK_UE(keeper) || CHECK_UE(paganidol) || CHECK_UE(bloodlines2) || CHECK_UE(stygian) ||
16371651
CHECK_UE(voyagesteam) || exeName == "acr.exe" || CHECK_UE(ghost) || CHECK_UE(styx3) || CHECK_UE(sevgame) ||
16381652
CHECK_UE(highonlife2) || CHECK_UE(farfarwest) || CHECK_UE(brimstone) || CHECK_UE(imjch) ||
16391653
CHECK_UE(cjsteam) || CHECK_UE(stvoyagersteam) || CHECK_UE(smb) || CHECK_UE(pagodasteam) ||
16401654
CHECK_UE(conansandbox) || CHECK_UE(roguecore) || CHECK_UE(grounded2steam) || CHECK_UE(slasher) ||
1641-
CHECK_UE(g1r) || CHECK_UE(mortalshell2) || exeName == "thesinkingcity2demo.exe" || CHECK_UE(dsclient) ||
1655+
CHECK_UE(g1r) || CHECK_UE(mortalshell2) || exeName == "thesinkingcity2.exe" || CHECK_UE(dsclient) ||
16421656
CHECK_UE(themound))
16431657
{
16441658
std::string_view pattern("75 ? C7 05 ? ? ? ? 02 00 00 00 B8 02 00 00 00");

0 commit comments

Comments
 (0)