Use SDL_TICKS_PASSED for frame-limiting

This probably works-around overflow
This commit is contained in:
Clownacy 2020-01-20 23:53:41 +00:00
parent 2b34cf7965
commit d04bd94649

View file

@ -63,13 +63,13 @@ BOOL Flip_SystemTask(void)
// Framerate limiter // Framerate limiter
timeNow = SDL_GetTicks(); timeNow = SDL_GetTicks();
if (timeNow >= timePrev + FRAMERATE) if (SDL_TICKS_PASSED(timeNow, timePrev + FRAMERATE))
break; break;
SDL_Delay(1); SDL_Delay(1);
} }
if (timeNow >= timePrev + 100) if (SDL_TICKS_PASSED(timeNow, timePrev + 100))
timePrev = timeNow; // If the timer is freakishly out of sync, panic and reset it, instead of spamming frames for who-knows how long timePrev = timeNow; // If the timer is freakishly out of sync, panic and reset it, instead of spamming frames for who-knows how long
else else
timePrev += FRAMERATE; timePrev += FRAMERATE;