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;