From 2ae34b67e36b8ba05132d481876eb4ed7a826283 Mon Sep 17 00:00:00 2001 From: BobTheBob9 Date: Thu, 7 Jul 2022 21:31:41 +0100 Subject: almost fully replaced hooking lib --- NorthstarDLL/latencyflex.cpp | 80 ++++++++++++++++++++++---------------------- 1 file changed, 40 insertions(+), 40 deletions(-) (limited to 'NorthstarDLL/latencyflex.cpp') diff --git a/NorthstarDLL/latencyflex.cpp b/NorthstarDLL/latencyflex.cpp index 8c302df8..4e30a71a 100644 --- a/NorthstarDLL/latencyflex.cpp +++ b/NorthstarDLL/latencyflex.cpp @@ -1,41 +1,41 @@ -#include "pch.h" -#include "convar.h" - -AUTOHOOK_INIT() - -ConVar* Cvar_r_latencyflex; - -HMODULE m_lfxModule {}; -typedef void (*PFN_winelfx_WaitAndBeginFrame)(); -PFN_winelfx_WaitAndBeginFrame m_winelfx_WaitAndBeginFrame {}; - -AUTOHOOK(OnRenderStart, client.dll + 0x1952C0, -void,, (), -{ - if (Cvar_r_latencyflex->GetInt()) - m_winelfx_WaitAndBeginFrame(); - - OnRenderStart(); -}) - -ON_DLL_LOAD_CLIENT_RELIESON("client.dll", LatencyFlex, ConVar, [](HMODULE baseAddress) -{ - // Connect to the LatencyFleX service - // LatencyFleX is an open source vendor agnostic replacement for Nvidia Reflex input latency reduction technology. - // https://ishitatsuyuki.github.io/post/latencyflex/ - m_lfxModule = LoadLibraryA("latencyflex_wine.dll"); - - if (m_lfxModule == nullptr) - { - spdlog::info("Unable to load LatencyFleX library, LatencyFleX disabled."); - return; - } - - AUTOHOOK_DISPATCH() - - m_winelfx_WaitAndBeginFrame = - reinterpret_cast(reinterpret_cast(GetProcAddress(m_lfxModule, "winelfx_WaitAndBeginFrame"))); - spdlog::info("LatencyFleX initialized."); - - Cvar_r_latencyflex = new ConVar("r_latencyflex", "1", FCVAR_ARCHIVE, "Whether or not to use LatencyFleX input latency reduction."); +#include "pch.h" +#include "convar.h" + +AUTOHOOK_INIT() + +ConVar* Cvar_r_latencyflex; + +HMODULE m_lfxModule {}; +typedef void (*PFN_winelfx_WaitAndBeginFrame)(); +PFN_winelfx_WaitAndBeginFrame m_winelfx_WaitAndBeginFrame {}; + +AUTOHOOK(OnRenderStart, client.dll + 0x1952C0, +void,, ()) +{ + if (Cvar_r_latencyflex->GetInt()) + m_winelfx_WaitAndBeginFrame(); + + OnRenderStart(); +} + +ON_DLL_LOAD_CLIENT_RELIESON("client.dll", LatencyFlex, ConVar, [](HMODULE baseAddress) +{ + // Connect to the LatencyFleX service + // LatencyFleX is an open source vendor agnostic replacement for Nvidia Reflex input latency reduction technology. + // https://ishitatsuyuki.github.io/post/latencyflex/ + m_lfxModule = LoadLibraryA("latencyflex_wine.dll"); + + if (m_lfxModule == nullptr) + { + spdlog::info("Unable to load LatencyFleX library, LatencyFleX disabled."); + return; + } + + AUTOHOOK_DISPATCH() + + m_winelfx_WaitAndBeginFrame = + reinterpret_cast(reinterpret_cast(GetProcAddress(m_lfxModule, "winelfx_WaitAndBeginFrame"))); + spdlog::info("LatencyFleX initialized."); + + Cvar_r_latencyflex = new ConVar("r_latencyflex", "1", FCVAR_ARCHIVE, "Whether or not to use LatencyFleX input latency reduction."); }) \ No newline at end of file -- cgit v1.2.3