void SoundHooks::AddHook(int type, IPluginFunction *pFunc) { if (type == NORMAL_SOUND_HOOK) { m_NormalFuncs.push_back(pFunc); _IncRefCounter(NORMAL_SOUND_HOOK); } else if (type == AMBIENT_SOUND_HOOK) { m_AmbientFuncs.push_back(pFunc); _IncRefCounter(AMBIENT_SOUND_HOOK); } }
bool TempEntHooks::AddHook(const char *name, IPluginFunction *pFunc) { TEHookInfo *pInfo; if (m_TEHooks->Retrieve(name, reinterpret_cast<void **>(&pInfo))) { pInfo->lst.push_back(pFunc); } else { TempEntityInfo *te; if (!(te=g_TEManager.GetTempEntityInfo(name))) { return false; } pInfo = new TEHookInfo; pInfo->te = te; pInfo->lst.push_back(pFunc); m_TEHooks->Insert(name, reinterpret_cast<void *>(pInfo)); m_HookInfo.push_back(pInfo); } _IncRefCounter(); return true; }