mirror of
https://github.com/isledecomp/isle.git
synced 2025-10-25 09:24:17 +00:00
MxTimer touch-up (#1096)
This commit is contained in:
@@ -3,40 +3,42 @@
|
||||
#include <windows.h>
|
||||
|
||||
// GLOBAL: LEGO1 0x10101414
|
||||
// GLOBAL: BETA10 0x10201f84
|
||||
MxLong MxTimer::g_lastTimeCalculated = 0;
|
||||
|
||||
// GLOBAL: LEGO1 0x10101418
|
||||
MxLong MxTimer::g_lastTimeTimerStarted = 0;
|
||||
|
||||
// FUNCTION: LEGO1 0x100ae060
|
||||
// FUNCTION: BETA10 0x1012bea0
|
||||
MxTimer::MxTimer()
|
||||
{
|
||||
this->m_isRunning = FALSE;
|
||||
m_isRunning = FALSE;
|
||||
m_startTime = timeGetTime();
|
||||
// yeah this is somehow what the asm is
|
||||
g_lastTimeCalculated = m_startTime;
|
||||
InitLastTimeCalculated();
|
||||
}
|
||||
|
||||
// FUNCTION: LEGO1 0x100ae140
|
||||
// FUNCTION: BETA10 0x1012bf23
|
||||
MxLong MxTimer::GetRealTime()
|
||||
{
|
||||
MxTimer::g_lastTimeCalculated = timeGetTime();
|
||||
return MxTimer::g_lastTimeCalculated - this->m_startTime;
|
||||
return MxTimer::g_lastTimeCalculated - m_startTime;
|
||||
}
|
||||
|
||||
// FUNCTION: LEGO1 0x100ae160
|
||||
void MxTimer::Start()
|
||||
{
|
||||
g_lastTimeTimerStarted = this->GetRealTime();
|
||||
this->m_isRunning = TRUE;
|
||||
g_lastTimeTimerStarted = GetRealTime();
|
||||
m_isRunning = TRUE;
|
||||
}
|
||||
|
||||
// FUNCTION: LEGO1 0x100ae180
|
||||
void MxTimer::Stop()
|
||||
{
|
||||
MxLong elapsed = this->GetRealTime();
|
||||
MxLong elapsed = GetRealTime();
|
||||
MxLong startTime = elapsed - MxTimer::g_lastTimeTimerStarted;
|
||||
this->m_isRunning = FALSE;
|
||||
m_isRunning = FALSE;
|
||||
// this feels very stupid but it's what the assembly does
|
||||
this->m_startTime = this->m_startTime + startTime - 5;
|
||||
m_startTime = m_startTime + startTime - 5;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user