diff -r 8cc787bf5d2e -r a16c05dcf584 core/sourcemod.cpp --- a/core/sourcemod.cpp Thu Feb 15 01:02:34 2007 +0000 +++ b/core/sourcemod.cpp Thu Feb 15 20:35:17 2007 +0000 @@ -156,6 +156,8 @@ SH_ADD_HOOK_MEMFUNC(IServerGameDLL, LevelShutdown, gamedll, this, &SourceModBase::LevelShutdown, false); SH_ADD_HOOK_MEMFUNC(IServerGameDLL, GameFrame, gamedll, this, &SourceModBase::GameFrame, false); + enginePatch = SH_GET_CALLCLASS(engine); + /* Notify! */ SMGlobalClass *pBase = SMGlobalClass::head; while (pBase) @@ -314,6 +316,12 @@ pBase = pBase->m_pGlobalClassNext; } + if (enginePatch) + { + SH_RELEASE_CALLCLASS(enginePatch); + enginePatch = NULL; + } + SH_REMOVE_HOOK_MEMFUNC(IServerGameDLL, LevelInit, gamedll, this, &SourceModBase::LevelInit, false); SH_REMOVE_HOOK_MEMFUNC(IServerGameDLL, LevelShutdown, gamedll, this, &SourceModBase::LevelShutdown, false); SH_REMOVE_HOOK_MEMFUNC(IServerGameDLL, GameFrame, gamedll, this, &SourceModBase::GameFrame, false);