1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35
|
...
bool MTimer::Init(unsigned long delay, int id)
{
m_ExpireDelay = delay;
m_TimerId = id;
m_LastTime = GetTickCount();
m_AccumTime = 0;
return false;
}
bool MTimer::Update(void)
{
/////On sauvegarde la derniere valeur pour pouvoir la comparer
/*m_LastTime = m_CurrentTime;*/
///On récupère la nouvelle "date"
m_CurrentTime = GetTickCount();
m_Delay = m_CurrentTime - m_LastTime;
m_AccumTime += m_Delay; ///On continue de cumuler le temps... <!> gaffe aux dépassements de mémoire ?!!!
if(m_Delay>=m_ExpireDelay) ///On teste si on a dépassé le temps imparti...
{
g_log.Write(LOG_PLAINTEXT, "TIMERID= %i diff= %Li expiration= %Li", m_TimerId, m_CurrentTime-m_LastTime, m_ExpireDelay);
//MessageBox(NULL, "Timer écoulé", "Engine Logger", MB_OK);
m_LastTime = GetTickCount();
//m_Delay = 0.0;
return true; ///timer expired
}
return false; ///on continue
//QueryPerformanceCounter()
} |
Partager