From 649b96ac9d97b47ab05d61caf8a52d792b13cbbb Mon Sep 17 00:00:00 2001 From: David Anderson Date: Fri, 15 Dec 2006 13:58:22 +0000 Subject: [PATCH] added global class initializers --HG-- extra : convert_revision : svn%3A39bc706e-5318-0410-9160-8a85361fbb7c/trunk%40219 --- core/sourcemod.cpp | 19 ++++++++++++++++++- 1 file changed, 18 insertions(+), 1 deletion(-) diff --git a/core/sourcemod.cpp b/core/sourcemod.cpp index 0e42de2d..a976b417 100644 --- a/core/sourcemod.cpp +++ b/core/sourcemod.cpp @@ -129,10 +129,27 @@ void SourceModBase::StartSourceMod(bool late) /* First initialize the global hooks we need */ SH_ADD_HOOK_MEMFUNC(IServerGameDLL, LevelInit, gamedll, this, &SourceModBase::LevelInit, false); + m_IsLateLoadInMap = late; + + /* Notify! */ + SMGlobalClass *pBase = SMGlobalClass::head; + while (pBase) + { + pBase->OnSourceModStartup(m_IsLateLoadInMap); + pBase = pBase->m_pGlobalClassNext; + } + + /* Notify! */ + pBase = SMGlobalClass::head; + while (pBase) + { + pBase->OnSourceModAllInitialized(); + pBase = pBase->m_pGlobalClassNext; + } + /* If we're late, automatically load plugins now */ if (late) { - m_IsLateLoadInMap = late; DoGlobalPluginLoads(); } }