diff options
author | Jack <66967891+ASpoonPlaysGames@users.noreply.github.com> | 2024-08-27 22:31:31 +0100 |
---|---|---|
committer | GitHub <noreply@github.com> | 2024-08-27 23:31:31 +0200 |
commit | dafd7ab5cf649015c472dc548858632f66d36e99 (patch) | |
tree | ebb9305367fbb67a976562dbce4f18b3479b2add /primedev | |
parent | 3a930e481a66a50274e174f9b71135da36eacb95 (diff) | |
download | NorthstarLauncher-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
Diffstat (limited to 'primedev')
-rw-r--r-- | primedev/client/clientruihooks.cpp | 13 |
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"); } |