diff --git a/core/MemoryUtils.cpp b/core/MemoryUtils.cpp index 828077ae..2ef9eeed 100644 --- a/core/MemoryUtils.cpp +++ b/core/MemoryUtils.cpp @@ -13,7 +13,7 @@ */ #include "MemoryUtils.h" -#include "sm_platform.h" +#include "ShareSys.h" #ifdef PLATFORM_LINUX #include #include @@ -39,6 +39,11 @@ MemoryUtils::MemoryUtils() } #endif +void MemoryUtils::OnSourceModAllInitialized() +{ + g_ShareSys.AddInterface(NULL, this); +} + void *MemoryUtils::FindPattern(const void *libPtr, const char *pattern, size_t len) { DynLibInfo lib; diff --git a/core/MemoryUtils.h b/core/MemoryUtils.h index cda16574..34799091 100644 --- a/core/MemoryUtils.h +++ b/core/MemoryUtils.h @@ -16,6 +16,7 @@ #define _INCLUDE_SOURCEMOD_MEMORYUTILS_H_ #include +#include "sm_globals.h" using namespace SourceMod; @@ -25,9 +26,13 @@ struct DynLibInfo size_t memorySize; }; -class MemoryUtils : public IMemoryUtils +class MemoryUtils : + public IMemoryUtils, + public SMGlobalClass { -public: +public: // SMGlobalClass + void OnSourceModAllInitialized(); +public: // IMemoryUtils void *FindPattern(const void *libPtr, const char *pattern, size_t len); private: bool GetLibraryInfo(const void *libPtr, DynLibInfo &lib);