1.1 --- a/core/sourcemod.cpp Sat Mar 01 06:07:16 2008 +0000
1.2 +++ b/core/sourcemod.cpp Sat Mar 01 06:33:25 2008 +0000
1.3 @@ -670,6 +670,36 @@
1.4 return GetAdjustedTime();
1.5 }
1.6
1.7 +void SourceModBase::AddGameFrameHook(GAME_FRAME_HOOK hook)
1.8 +{
1.9 + m_frame_hooks.push_back(hook);
1.10 +}
1.11 +
1.12 +void SourceModBase::RemoveGameFrameHook(GAME_FRAME_HOOK hook)
1.13 +{
1.14 + for (size_t i = 0; i < m_frame_hooks.size(); i++)
1.15 + {
1.16 + if (m_frame_hooks[i] == hook)
1.17 + {
1.18 + m_frame_hooks.erase(m_frame_hooks.iterAt(i));
1.19 + return;
1.20 + }
1.21 + }
1.22 +}
1.23 +
1.24 +void SourceModBase::ProcessGameFrameHooks(bool simulating)
1.25 +{
1.26 + if (m_frame_hooks.size() == 0)
1.27 + {
1.28 + return;
1.29 + }
1.30 +
1.31 + for (size_t i = 0; i < m_frame_hooks.size(); i++)
1.32 + {
1.33 + m_frame_hooks[i](simulating);
1.34 + }
1.35 +}
1.36 +
1.37 SMGlobalClass *SMGlobalClass::head = NULL;
1.38
1.39 SMGlobalClass::SMGlobalClass()