From 3d84d9ee517fd4fc9adad4039dfcf93f8e2b8230 Mon Sep 17 00:00:00 2001 From: Kaldaien Date: Thu, 19 Sep 2024 06:24:08 -0400 Subject: [PATCH] Set DontHookWndProc=true by default in FFXVI to deal with the splash screen --- CHANGELOG.txt | 6 +++++- include/SpecialK/DLL_VERSION.H | 4 ++-- src/plugins/ffxvi.cpp | 8 ++++---- src/scheduler.cpp | 4 +--- 4 files changed, 12 insertions(+), 10 deletions(-) diff --git a/CHANGELOG.txt b/CHANGELOG.txt index d5b5ad3da..ff19772bb 100644 --- a/CHANGELOG.txt +++ b/CHANGELOG.txt @@ -1,4 +1,8 @@ -24.9.19.3 +24.9.19.4 +========= + + Set DontHookWndProc=true by default in FFXVI to deal with the splash screen + +24.9.19.3 ========= + Handle Final Fantasy XVI's NVIDIA Streamline Interposer trying to create a new SwapChain while the game is exiting and has no window diff --git a/include/SpecialK/DLL_VERSION.H b/include/SpecialK/DLL_VERSION.H index ca00642f2..ea9a43778 100644 --- a/include/SpecialK/DLL_VERSION.H +++ b/include/SpecialK/DLL_VERSION.H @@ -3,8 +3,8 @@ #define SK_YEAR 24 #define SK_MONTH 9 #define SK_DATE 19 -#define SK_REV_N 3 -#define SK_REV 3 +#define SK_REV_N 4 +#define SK_REV 4 #ifndef _A2 #define _A2(a) #a diff --git a/src/plugins/ffxvi.cpp b/src/plugins/ffxvi.cpp index 9265be3a9..71d7ad246 100644 --- a/src/plugins/ffxvi.cpp +++ b/src/plugins/ffxvi.cpp @@ -350,9 +350,9 @@ SK_FFXVI_PresentFirstFrame (IUnknown* pSwapChain, UINT SyncInterval, UINT Flags) if (SK_FFXVI_ActiveAntiStutter) { - config.render.framerate.max_delta_time = 15; + config.render.framerate.max_delta_time = 3; config.render.framerate.sleepless_render = true; - config.render.framerate.sleepless_window = true; + config.render.framerate.sleepless_window = false; } ini.cutscene_fps_addr = @@ -677,9 +677,9 @@ SK_FFXVI_PlugInCfg (void) { if (SK_FFXVI_ActiveAntiStutter) { - config.render.framerate.max_delta_time = 15; + config.render.framerate.max_delta_time = 3; config.render.framerate.sleepless_render = true; - config.render.framerate.sleepless_window = true; + config.render.framerate.sleepless_window = false; } else diff --git a/src/scheduler.cpp b/src/scheduler.cpp index 78ab2b9af..cc075dc20 100644 --- a/src/scheduler.cpp +++ b/src/scheduler.cpp @@ -1301,9 +1301,7 @@ SleepEx_Detour (DWORD dwMilliseconds, BOOL bAlertable) if (bFFXVI) { static thread_local uint64_t sleeps_skipped = 0; - if ( sleeps_skipped++ % - (config.priority.available_cpu_cores * - config.priority.available_cpu_cores * 2) == 0 ) + if ( sleeps_skipped++ % 3 == 0 ) { return SK_SleepEx (dwMilliseconds, bAlertable);