From 3ee74cdb1b4fd2bf9eefdf6bcd8439b27cbb7336 Mon Sep 17 00:00:00 2001 From: cflip Date: Fri, 1 Apr 2022 21:23:01 -0600 Subject: Add a game timer This adds a delta time that ensures that everything moves at the same speed regardless of framerate or system. --- src/main.cpp | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) (limited to 'src/main.cpp') diff --git a/src/main.cpp b/src/main.cpp index 25e6fea..b417b45 100644 --- a/src/main.cpp +++ b/src/main.cpp @@ -5,6 +5,7 @@ #include "window.h" #include +#include int main(int argc, char** argv) { @@ -107,7 +108,12 @@ int main(int argc, char** argv) } }); + auto lastTime = std::chrono::high_resolution_clock::now(); while (!window.shouldClose()) { + auto now = std::chrono::high_resolution_clock::now(); + float deltaTime = std::chrono::duration_cast>(now - lastTime).count() * 100; + lastTime = now; + window.update(); bitmap.clear(0xff224466); @@ -116,7 +122,7 @@ int main(int argc, char** argv) if (left) xOffs -= cameraMoveSpeed; if (right) xOffs += cameraMoveSpeed; - level.update(); + level.update(deltaTime); level.draw(bitmap, xOffs, yOffs); int xx = (hoveredTile.x - hoveredTile.y) * (TileSize / 2) - xOffs; -- cgit v1.2.3