start using gametime

This commit is contained in:
2025-02-18 20:03:13 +01:00
parent 14af4d7e80
commit c0f1678142
3 changed files with 9 additions and 3 deletions

View File

@@ -10,6 +10,7 @@
#define PRINT_BUFFER_SIZE 128 // defines the buffer size for printing #define PRINT_BUFFER_SIZE 128 // defines the buffer size for printing
// writes the arguments to the specified buffer // writes the arguments to the specified buffer
// using a macro instead of an inline function because fmt otherwise gets horribly messed up
#define write_args(buf, fmt) \ #define write_args(buf, fmt) \
va_list args; \ va_list args; \
va_start(args, fmt); \ va_start(args, fmt); \

View File

@@ -25,7 +25,7 @@ static inline void gametime_update(gametime* gt) {
gt->ts = ts; gt->ts = ts;
} }
// gets how many times the // gets how many times the game updates per second
static inline float gametime_get_ups(gametime* gt) { static inline float gametime_get_ups(gametime* gt) {
return 1.0F / gt->deltatime; return 1.0F / gt->deltatime;
} }

View File

@@ -5,10 +5,13 @@
#include "error.h" #include "error.h"
#include "game/game.h" #include "game/game.h"
#include "game/gametime.h"
#include "window/render.h" #include "window/render.h"
static gamedata gdat; // initialized in init(), reading beforehand is undefined behaviour // initialized in init(), reading beforehand is undefined behaviour
static renderdata rdat; // initialized in init(), reading beforehand is undefined behaviour static gametime gt;
static gamedata gdat;
static renderdata rdat;
// initialize the game // initialize the game
static void init(void) { static void init(void) {
@@ -17,6 +20,7 @@ static void init(void) {
error(ERROR_SDL_INIT, "SDL could not initialize! SDL Error: %s", SDL_GetError()); error(ERROR_SDL_INIT, "SDL could not initialize! SDL Error: %s", SDL_GetError());
// initialize other game components // initialize other game components
gt = gametime_new();
game_init(&gdat); game_init(&gdat);
render_init(&rdat, &gdat); render_init(&rdat, &gdat);
} }
@@ -36,6 +40,7 @@ static void update(void) {
} }
// perform updates // perform updates
gametime_update(&gt);
game_update(&gdat); game_update(&gdat);
render_update(&rdat); render_update(&rdat);
} }