From 94bf515ba780f7d70917ee26d3ec5b5726508ff2 Mon Sep 17 00:00:00 2001 From: Kawe Mazidjatari <48657826+Mauler125@users.noreply.github.com> Date: Tue, 17 Jan 2023 11:21:10 +0100 Subject: [PATCH] Add gpGlobals to SDK --- r5dev/game/server/gameinterface.cpp | 3 +++ r5dev/game/server/gameinterface.h | 8 +++++++- r5dev/public/utility/sigcache.h | 2 +- 3 files changed, 11 insertions(+), 2 deletions(-) diff --git a/r5dev/game/server/gameinterface.cpp b/r5dev/game/server/gameinterface.cpp index acb67e01..78e61418 100644 --- a/r5dev/game/server/gameinterface.cpp +++ b/r5dev/game/server/gameinterface.cpp @@ -95,3 +95,6 @@ void CServerGameDLL_Detach() CServerGameDLL* g_pServerGameDLL = nullptr; CServerGameClients* g_pServerGameClients = nullptr; CServerGameEnts* g_pServerGameEntities = nullptr; + +// Holds global variables shared between engine and game. +CGlobalVars* g_pGlobals = nullptr; diff --git a/r5dev/game/server/gameinterface.h b/r5dev/game/server/gameinterface.h index f7994987..22c078de 100644 --- a/r5dev/game/server/gameinterface.h +++ b/r5dev/game/server/gameinterface.h @@ -48,6 +48,8 @@ extern CServerGameDLL* g_pServerGameDLL; extern CServerGameClients* g_pServerGameClients; extern CServerGameEnts* g_pServerGameEntities; +extern CGlobalVars* g_pGlobals; + void CServerGameDLL_Attach(); void CServerGameDLL_Detach(); @@ -60,6 +62,7 @@ class VServerGameDLL : public IDetour spdlog::debug("| VAR: g_pServerGameDLL : {:#18x} |\n", reinterpret_cast(g_pServerGameDLL)); spdlog::debug("| VAR: g_pServerGameClients : {:#18x} |\n", reinterpret_cast(g_pServerGameClients)); spdlog::debug("| VAR: g_pServerGameEntities : {:#18x} |\n", reinterpret_cast(g_pServerGameEntities)); + spdlog::debug("| VAR: g_pGlobals : {:#18x} |\n", reinterpret_cast(g_pGlobals)); spdlog::debug("+----------------------------------------------------------------+\n"); } virtual void GetFun(void) const @@ -69,7 +72,10 @@ class VServerGameDLL : public IDetour CServerGameDLL__OnReceivedSayTextMessage = p_CServerGameDLL__OnReceivedSayTextMessage.RCast(); #endif } - virtual void GetVar(void) const { } + virtual void GetVar(void) const + { + g_pGlobals = g_GameDll.FindPatternSIMD("4C 8B 0D ? ? ? ? 48 8B D1").ResolveRelativeAddressSelf(0x3, 0x7).RCast(); + } virtual void GetCon(void) const { } virtual void Attach(void) const { } virtual void Detach(void) const { } diff --git a/r5dev/public/utility/sigcache.h b/r5dev/public/utility/sigcache.h index 5a1a9d6a..425a28f5 100644 --- a/r5dev/public/utility/sigcache.h +++ b/r5dev/public/utility/sigcache.h @@ -7,7 +7,7 @@ #define SIGDB_DICT_SIZE 20 #define SIGDB_MAJOR_VERSION 0x1 // Increment when library changes are made. -#define SIGDB_MINOR_VERSION 0x4 // Increment when SDK updates are released. +#define SIGDB_MINOR_VERSION 0x5 // Increment when SDK updates are released. #ifdef DEDICATED #define SIGDB_FILE "cfg\\server\\startup.bin"