#include "frametiming.h" #include void Osu_UpdateFrameTiming(struct Osu_FrameTiming* frameTiming) { Uint64 currentTime = SDL_GetTicksNS(); Uint64 lastFrameDuration = currentTime - frameTiming->lastFrameTime; frameTiming->lastFrameTime = currentTime; frameTiming->accumulator += lastFrameDuration; frameTiming->sum = frameTiming->sum - frameTiming->frameTimes[frameTiming->frameIndex] + lastFrameDuration; frameTiming->frameTimes[frameTiming->frameIndex] = lastFrameDuration; frameTiming->avgFrameDuration = (double)frameTiming->sum / OSU_FRAME_TIME_SAMPLES; frameTiming->frameIndex = (frameTiming->frameIndex + 1) % OSU_FRAME_TIME_SAMPLES; }