aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJack <66967891+ASpoonPlaysGames@users.noreply.github.com>2024-08-27 22:31:31 +0100
committerGitHub <noreply@github.com>2024-08-27 23:31:31 +0200
commitdafd7ab5cf649015c472dc548858632f66d36e99 (patch)
treeebb9305367fbb67a976562dbce4f18b3479b2add
parent3a930e481a66a50274e174f9b71135da36eacb95 (diff)
downloadNorthstarLauncher-dafd7ab5cf649015c472dc548858632f66d36e99.tar.gz
NorthstarLauncher-dafd7ab5cf649015c472dc548858632f66d36e99.zip
Remove uses of Autohook from `clientruihooks.cpp` (#783)v1.27.4-rc2
Manually hook DrawRUIFunc Remove AUTOHOOK_INIT and AUTOHOOK_DISPATCH
-rw-r--r--primedev/client/clientruihooks.cpp13
1 files changed, 5 insertions, 8 deletions
diff --git a/primedev/client/clientruihooks.cpp b/primedev/client/clientruihooks.cpp
index ad50d11a..e49e6f63 100644
--- a/primedev/client/clientruihooks.cpp
+++ b/primedev/client/clientruihooks.cpp
@@ -1,23 +1,20 @@
#include "core/convar/convar.h"
-AUTOHOOK_INIT()
-
ConVar* Cvar_rui_drawEnable;
-// clang-format off
-AUTOHOOK(DrawRUIFunc, engine.dll + 0xFC500,
-bool, __fastcall, (void* a1, float* a2))
-// clang-format on
+static bool (*__fastcall o_pDrawRUIFunc)(void* a1, float* a2) = nullptr;
+static bool __fastcall h_DrawRUIFunc(void* a1, float* a2)
{
if (!Cvar_rui_drawEnable->GetBool())
return 0;
- return DrawRUIFunc(a1, a2);
+ return o_pDrawRUIFunc(a1, a2);
}
ON_DLL_LOAD_CLIENT_RELIESON("engine.dll", RUI, ConVar, (CModule module))
{
- AUTOHOOK_DISPATCH()
+ o_pDrawRUIFunc = module.Offset(0xFC500).RCast<decltype(o_pDrawRUIFunc)>();
+ HookAttach(&(PVOID&)o_pDrawRUIFunc, (PVOID)h_DrawRUIFunc);
Cvar_rui_drawEnable = new ConVar("rui_drawEnable", "1", FCVAR_CLIENTDLL, "Controls whether RUI should be drawn");
}