summary refs log tree commit diff stats
path: root/src/main.cpp
diff options
context:
space:
mode:
authorKelly Rauchenberger <fefferburbia@gmail.com>2021-01-30 13:03:50 -0500
committerKelly Rauchenberger <fefferburbia@gmail.com>2021-01-30 13:03:50 -0500
commite3fcd5fc180b48e0710fbcbf6cfa94e906b8219c (patch)
tree61783526e178e7253b8704299bec31a190878790 /src/main.cpp
parentf3166702d7dd30312b5a401f52941aad43ac51c3 (diff)
downloadtanetane-e3fcd5fc180b48e0710fbcbf6cfa94e906b8219c.tar.gz
tanetane-e3fcd5fc180b48e0710fbcbf6cfa94e906b8219c.tar.bz2
tanetane-e3fcd5fc180b48e0710fbcbf6cfa94e906b8219c.zip
Abstracted frame timing stuff
Diffstat (limited to 'src/main.cpp')
-rw-r--r--src/main.cpp20
1 files changed, 7 insertions, 13 deletions
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 @@
2#include "renderer.h" 2#include "renderer.h"
3#include "game.h" 3#include "game.h"
4#include "party.h" 4#include "party.h"
5#include "timer.h"
5 6
6void loop(Renderer& renderer) { 7void loop(Renderer& renderer) {
7 Game game; 8 Game game;
@@ -18,11 +19,8 @@ void loop(Renderer& renderer) {
18 19
19 renderer.render(game); 20 renderer.render(game);
20 21
21 size_t inputDt = 50; 22 Timer inputTimer(50);
22 size_t inputAcc = 0; 23 Timer animTimer(1000/5);//30fps * 1000 t/s;
23
24 size_t animDt = 1000/5;//30fps * 1000 t/s;
25 size_t animAcc = 0;
26 24
27 size_t lastTime = SDL_GetTicks(); 25 size_t lastTime = SDL_GetTicks();
28 26
@@ -44,17 +42,13 @@ void loop(Renderer& renderer) {
44 keystate.up = state[SDL_SCANCODE_UP]; 42 keystate.up = state[SDL_SCANCODE_UP];
45 keystate.down = state[SDL_SCANCODE_DOWN]; 43 keystate.down = state[SDL_SCANCODE_DOWN];
46 44
47 inputAcc += frameTime; 45 inputTimer.accumulate(frameTime);
48 while (inputAcc > inputDt) { 46 while (inputTimer.step()) {
49 inputAcc -= inputDt;
50
51 party.move(game, keystate); 47 party.move(game, keystate);
52 } 48 }
53 49
54 animAcc += frameTime; 50 animTimer.accumulate(frameTime);
55 while (animAcc > animDt) { 51 while (animTimer.step()) {
56 animAcc -= animDt;
57
58 game.tickSpriteAnim(); 52 game.tickSpriteAnim();
59 } 53 }
60 54