From e3fcd5fc180b48e0710fbcbf6cfa94e906b8219c Mon Sep 17 00:00:00 2001 From: Kelly Rauchenberger Date: Sat, 30 Jan 2021 13:03:50 -0500 Subject: Abstracted frame timing stuff --- src/main.cpp | 20 +++++++------------- 1 file changed, 7 insertions(+), 13 deletions(-) (limited to 'src/main.cpp') diff --git a/src/main.cpp b/src/main.cpp index 1d3d58e..83f63e0 100644 --- a/src/main.cpp +++ b/src/main.cpp @@ -2,6 +2,7 @@ #include "renderer.h" #include "game.h" #include "party.h" +#include "timer.h" void loop(Renderer& renderer) { Game game; @@ -18,11 +19,8 @@ void loop(Renderer& renderer) { renderer.render(game); - size_t inputDt = 50; - size_t inputAcc = 0; - - size_t animDt = 1000/5;//30fps * 1000 t/s; - size_t animAcc = 0; + Timer inputTimer(50); + Timer animTimer(1000/5);//30fps * 1000 t/s; size_t lastTime = SDL_GetTicks(); @@ -44,17 +42,13 @@ void loop(Renderer& renderer) { keystate.up = state[SDL_SCANCODE_UP]; keystate.down = state[SDL_SCANCODE_DOWN]; - inputAcc += frameTime; - while (inputAcc > inputDt) { - inputAcc -= inputDt; - + inputTimer.accumulate(frameTime); + while (inputTimer.step()) { party.move(game, keystate); } - animAcc += frameTime; - while (animAcc > animDt) { - animAcc -= animDt; - + animTimer.accumulate(frameTime); + while (animTimer.step()) { game.tickSpriteAnim(); } -- cgit 1.4.1