27 lines
547 B
C++
27 lines
547 B
C++
|
#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;
|
||
|
}
|