#include "pch.h"
#include "ztime.h"
tlsDWORD Time::s_dwPauseStart;
tlsDWORD Time::s_dwNegativeOffset;
#ifdef _DEBUG_TRAINING
tlsDWORD Time::s_dwLastTime;
tlsDWORD Time::s_dwAccumulatedTime;
tlsINT Time::s_iShift;
tlsDWORD Time::s_dwLastClockTime;
#endif
void Time::Pause (void)
{
assert (! IsPaused ());
#ifdef _DEBUG_TRAINING
s_dwPauseStart = s_dwAccumulatedTime;
#else
s_dwPauseStart = timeGetTime ();
#endif
}
bool Time::IsPaused (void)
{
return (s_dwPauseStart != 0) ? true : false;
}
void Time::Continue (void)
{
assert (IsPaused ());
#ifdef _DEBUG_TRAINING
s_dwNegativeOffset += s_dwAccumulatedTime - s_dwPauseStart;
#else
s_dwNegativeOffset += timeGetTime () - s_dwPauseStart;
#endif
s_dwPauseStart = 0;
}
#ifdef _DEBUG_TRAINING
int Time::GetShift (void)
{
return s_iShift;
}
void Time::SetShift (int iShift)
{
if (iShift > 3)
iShift = 3;
else if (iShift < -3)
iShift = -3;
s_iShift = iShift;
}
#endif