Exemplo n.º 1
0
void CEngine::Update()
{
  if(m_pCore->GetExit())
  {
    SetExit(true);
    return;
  }
	m_pCore->Update();
  if(!m_pCore->GetLevelChanger()->ChangingLevel())
  {
	  float l_fElapsedTime = m_pCore->GetTimer()->GetElapsedTime();

	  if(m_pActiveProcess != NULL)
		  m_pActiveProcess->Update(l_fElapsedTime);

    UpdateSystems(l_fElapsedTime);
  }
}
Exemplo n.º 2
0
	void C_Client::Update_Thread()
	{
		m_Engine = new C_Engine(1024, 768, "Europa", 60);
		m_Engine->GetEvent().SetClient(this);
		m_Engine->GetEvent().SetLayout(m_Keyboard);

		OnStart();

		C_Event& _event = (*m_Engine).GetEvent();
		while (_event.IsRunning())
		{
			_event.Update();

			OnUpdate();

            if(m_CurrentScreen) {
                m_CurrentScreen->Update();
            }

            m_Network.Recv();

            if(m_CurrentScene && m_CurrentScreen && !m_CurrentScreen->GetEditorMode()) {
                ProcessEntities();
                UpdateSystems();
                m_CurrentScene->ResetUpdateTimer();
            }

			if (m_CurrentGui)
				m_CurrentGui->Draw();

            m_Network.Send();

			m_RFrame.Proceed();
		}

		Stop();
	}
Exemplo n.º 3
0
/*
====================
Update

====================
*/
void CParticleEngine::Update( void ) 
{
	if(m_pCvarParticleDebug->value)
	{
		gEngfuncs.Con_Printf("Created Particles: %i, Freed Particles %i, Active Particles: %i\nCreated Systems: %i, Freed Systems: %i, Active Systems: %i\n\n", 
			m_iNumCreatedParticles, m_iNumFreedParticles,m_iNumCreatedParticles-m_iNumFreedParticles, m_iNumCreatedSystems, m_iNumFreedSystems, m_iNumCreatedSystems-m_iNumFreedSystems);
	}

	if(m_pCvarDrawParticles->value < 1)
		return;

	m_flFrameTime = gEngfuncs.GetClientTime() - m_flLastDraw;
	m_flLastDraw = gEngfuncs.GetClientTime();

	if (m_flFrameTime > 1) 
		m_flFrameTime = 1;

	if (m_flFrameTime <= 0) 
		return;

	// No systems to check on
	if(!m_pSystemHeader)
		return;

	UpdateSystems();

	// Update all particles
	particle_system_t *psystem = m_pSystemHeader;
	while(psystem)
	{
		cl_particle_t *pparticle = psystem->particleheader;
		while(pparticle)
		{
			if(!UpdateParticle(pparticle))
			{
				cl_particle_t *pfree = pparticle;
				pparticle = pfree->next;

				if(!pfree->prev)
				{
					psystem->particleheader = pparticle;
					if(pparticle) pparticle->prev = NULL;
				}
				else
				{
					pfree->prev->next = pparticle;
					if(pparticle) pparticle->prev = pfree->prev;
				}

				m_iNumFreedParticles++;
				delete [] pfree;
				continue;
			}
			cl_particle_t *pnext = pparticle->next;
			pparticle = pnext;
		}

		particle_system_t *pnext = psystem->next;
		psystem = pnext;
	}
}