treewars/timer.cpp

27 lines
547 B
C++
Raw Normal View History

#include "timer.h"
Timer::Timer()
{
init_ticks = 0;
current_ticks = 0;
}
void Timer::start()
{
init_ticks = SDL_GetTicks();
current_ticks = init_ticks;
}
int Timer::get_ticks()
{
// The odd case that we overflow...
// If this happens, we basically reset the timer. This isn't the most
// elegant solution, but it's the best one I see. Nothing should rely
// on this timer for super-precision as a result
if (current_ticks < init_ticks) init_ticks = current_ticks;
return current_ticks - init_ticks;
}