Mercurial > mm7
view Time.cpp @ 1121:72eb21a62633
sacrifice working
author | zipi |
---|---|
date | Thu, 30 May 2013 20:25:50 +0100 |
parents | f93d17337113 |
children | 9baf16113199 |
line wrap: on
line source
#include "OSAPI.h" #include "Time.h" #include "Keyboard.h" #include "Log.h" #include "mm7_data.h" Timer *pMiscTimer = new Timer; Timer *pEventTimer; //----- (00426317) -------------------------------------------------------- unsigned __int64 Timer::Time() { uint 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(); 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; }