Mercurial > mm7
view Engine/Timer.cpp @ 2542:bacf9809126a
.
author | a.parshin |
---|---|
date | Sun, 10 May 2015 02:04:52 +0200 |
parents | a77c34acdbc9 |
children |
line wrap: on
line source
#define _CRTDBG_MAP_ALLOC #include <stdlib.h> #include <crtdbg.h> #define _CRT_SECURE_NO_WARNINGS #include "Timer.h" #include "IO/Keyboard.h" #include "OSAPI.h" Timer *pMiscTimer = new Timer; Timer *pEventTimer; //----- (00426317) -------------------------------------------------------- unsigned __int64 Timer::Time() { unsigned __int64 v2 = TimeQuant * timeGetTime() / 1000; if (v2 < uStartTime) uStartTime = 0; return v2; } //----- (00426349) -------------------------------------------------------- void Timer::Pause() { if (!bPaused) { uStopTime = Time(); bPaused = true; } } //----- (00426363) -------------------------------------------------------- void Timer::Resume() { if (bPaused) { pKeyActionMap->ResetKeys();//Unhandled application exception bPaused = 0; uStartTime = Time(); } } //----- (00426386) -------------------------------------------------------- void Timer::TrackGameTime() { if (!bTackGameTime) { uGameTimeStart = Time(); bTackGameTime = true; } } //----- (004263A0) -------------------------------------------------------- void Timer::StopGameTime() { if (bTackGameTime) { bTackGameTime = 0; uStartTime = Time(); } } //----- (004263B7) -------------------------------------------------------- void Timer::Update() { //Timer *v1; // esi@1 //unsigned int v2; // eax@2 //signed int v3; // eax@3 //char v4; // zf@5 unsigned __int64 new_time = Time(); while (new_time <= uStartTime) new_time = Time(); uTimeElapsed = new_time - uStartTime; uStartTime = new_time; if (uTimeElapsed > 32) uTimeElapsed = 32; if (!bPaused && !bTackGameTime) uTotalGameTimeElapsed += uTimeElapsed; dt_in_some_format = (uTimeElapsed << 16) / 128; } //----- (00426402) -------------------------------------------------------- void Timer::Initialize() { uTotalGameTimeElapsed = 0; bReady = true; }