diff --git a/sourcemm/ISmmAPI.h b/sourcemm/ISmmAPI.h index 9566e2b..b405579 100644 --- a/sourcemm/ISmmAPI.h +++ b/sourcemm/ISmmAPI.h @@ -49,6 +49,7 @@ #define MMIFACE_SOURCEHOOK "ISourceHook" /**< ISourceHook Pointer */ #define MMIFACE_PLMANAGER "IPluginManager" /**< SourceMM Plugin Functions */ +#define MMIFACE_SH_HOOKMANAUTOGEN "IHookManagerAutoGen" /**< SourceHook::IHookManagerAutoGen Pointer */ #define IFACE_MAXNUM 999 /**< Maximum interface version */ namespace SourceMM diff --git a/sourcemm/episode1/msvc8/sourcemm.vcproj b/sourcemm/episode1/msvc8/sourcemm.vcproj index 5060ab1..48d4c33 100644 --- a/sourcemm/episode1/msvc8/sourcemm.vcproj +++ b/sourcemm/episode1/msvc8/sourcemm.vcproj @@ -331,6 +331,11 @@ RelativePath="..\..\..\sourcehook\sourcehook.cpp" > + + + diff --git a/sourcemm/episode2/msvc8/sourcemm.vcproj b/sourcemm/episode2/msvc8/sourcemm.vcproj index a447f7c..0645613 100644 --- a/sourcemm/episode2/msvc8/sourcemm.vcproj +++ b/sourcemm/episode2/msvc8/sourcemm.vcproj @@ -327,6 +327,10 @@ RelativePath="..\..\..\sourcehook\sourcehook.cpp" > + + diff --git a/sourcemm/metamod.cpp b/sourcemm/metamod.cpp index 9527c9f..1cbb159 100644 --- a/sourcemm/metamod.cpp +++ b/sourcemm/metamod.cpp @@ -94,6 +94,7 @@ CreateInterfaceFn physics_factory = NULL; CreateInterfaceFn filesystem_factory = NULL; CGlobalVars *gpGlobals = NULL; CSourceHookImpl g_SourceHook; +CHookManagerAutoGen g_SH_HookManagerAutoGen(&g_SourceHook); ISourceHook *g_SHPtr = &g_SourceHook; PluginId g_PLID = Pl_Console; META_RES last_meta_res; @@ -1090,6 +1091,14 @@ void *MetamodSource::MetaFactory(const char *iface, int *ret, PluginId *id) } return static_cast(static_cast(&g_PluginMngr)); } + else if (strcmp(iface, MMIFACE_SH_HOOKMANAUTOGEN) == 0) + { + if (ret) + { + *ret = IFACE_OK; + } + return static_cast(static_cast(&g_SH_HookManagerAutoGen)); + } CPluginManager::CPlugin *pl; List::iterator event;