void CheckAndFinalizeConfigs() { if ((g_bServerExecd || g_ServerCfgFile == NULL) && g_bGotServerStart) { #if SOURCE_ENGINE >= SE_ORANGEBOX g_PendingInternalPush = true; #else SM_InternalCmdTrigger(); #endif } }
void RunFrameHooks(bool simulating) { /* It's okay if this check races. */ if (frame_queue->size()) { Queue<FrameAction> *temp; /* Very quick lock to move queue/actions back and forth */ frame_mutex->Lock(); temp = frame_queue; frame_queue = frame_actions; frame_actions = temp; frame_mutex->Unlock(); /* The server will now be adding to the other queue, so we can process events. */ while (!frame_actions->empty()) { FrameAction &item = frame_actions->first(); frame_actions->pop(); item.action(item.data); } } /* Frame based hooks */ g_DBMan.RunFrame(); g_HL2.ProcessFakeCliCmdQueue(); g_HL2.ProcessDelayedKicks(); if (g_PendingInternalPush) { SM_InternalCmdTrigger(); } g_SourceMod.ProcessGameFrameHooks(simulating); float curtime = *g_pUniversalTime; if (curtime - g_LastMenuTime >= 1.0f) { g_ValveMenuStyle.ProcessWatchList(); g_RadioMenuStyle.ProcessWatchList(); g_LastMenuTime = curtime; } if (*g_NumPlayersToAuth && curtime - g_LastAuthCheck >= 0.7f) { g_Players.RunAuthChecks(); g_LastAuthCheck = curtime; } }