Exemplo n.º 1
0
void CheckAndFinalizeConfigs()
{
	if ((g_bServerExecd || g_ServerCfgFile == NULL) && g_bGotServerStart)
	{
#if SOURCE_ENGINE >= SE_ORANGEBOX
        g_PendingInternalPush = true;
#else
        SM_InternalCmdTrigger();
#endif
	}
}
Exemplo n.º 2
0
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;
	}
}