From 4b2cc127a2b4bc7f3701e39b06849c0f41d4bf72 Mon Sep 17 00:00:00 2001 From: cdozdil Date: Tue, 22 Apr 2025 01:15:35 +0300 Subject: [PATCH] Check proxy first, might need re-init logic --- OptiScaler/hooks/Kernel_Hooks.h | 16 ++++++++++++++-- 1 file changed, 14 insertions(+), 2 deletions(-) diff --git a/OptiScaler/hooks/Kernel_Hooks.h b/OptiScaler/hooks/Kernel_Hooks.h index 5163d774..e1aade0a 100644 --- a/OptiScaler/hooks/Kernel_Hooks.h +++ b/OptiScaler/hooks/Kernel_Hooks.h @@ -777,6 +777,9 @@ private: static HMODULE LoadLibxess(std::wstring originalPath) { + if (XeSSProxy::Module() != nullptr) + return XeSSProxy::Module(); + HMODULE libxess = nullptr; if (Config::Instance()->XeSSLibrary.has_value()) @@ -815,6 +818,9 @@ private: static HMODULE LoadLibxessDx11(std::wstring originalPath) { + if (XeSSProxy::ModuleDx11() != nullptr) + return XeSSProxy::ModuleDx11(); + HMODULE libxess = nullptr; if (Config::Instance()->XeSSDx11Library.has_value()) @@ -853,6 +859,9 @@ private: static HMODULE LoadFfxapiDx12(std::wstring originalPath) { + if (FfxApiProxy::Dx12Module() != nullptr) + return FfxApiProxy::Dx12Module(); + HMODULE ffxDx12 = nullptr; if (Config::Instance()->FfxDx12Path.has_value()) @@ -891,6 +900,9 @@ private: static HMODULE LoadFfxapiVk(std::wstring originalPath) { + if (FfxApiProxy::VkModule() != nullptr) + return FfxApiProxy::VkModule(); + HMODULE ffxVk = nullptr; if (Config::Instance()->FfxVkPath.has_value()) @@ -1023,7 +1035,7 @@ private: std::wstring libName(lpLibFileName); std::wstring lcaseLibName(libName); - LOG_DEBUG("{}", wstring_to_string(lcaseLibName)); + LOG_TRACE("{}", wstring_to_string(lcaseLibName)); for (size_t i = 0; i < lcaseLibName.size(); i++) lcaseLibName[i] = std::tolower(lcaseLibName[i]); @@ -1371,7 +1383,7 @@ public: // These hooks cause stability regressions //o_KB_FreeLibrary = KernelBaseProxy::Hook_FreeLibrary(hk_KB_FreeLibrary); - if (State::Instance().gameQuirk == Minecraft) + if (State::Instance().gameQuirk == KernelBaseHooks) { o_KB_LoadLibraryExA = KernelBaseProxy::Hook_LoadLibraryExA(hk_KB_LoadLibraryExA); o_KB_LoadLibraryExW = KernelBaseProxy::Hook_LoadLibraryExW(hk_KB_LoadLibraryExW);