mirror of
https://github.com/thepigeongenerator/sdl_template.git
synced 2025-12-17 05:55:47 +01:00
start using gametime
This commit is contained in:
@@ -10,6 +10,7 @@
|
||||
#define PRINT_BUFFER_SIZE 128 // defines the buffer size for printing
|
||||
|
||||
// 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) \
|
||||
va_list args; \
|
||||
va_start(args, fmt); \
|
||||
|
||||
@@ -25,7 +25,7 @@ static inline void gametime_update(gametime* gt) {
|
||||
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) {
|
||||
return 1.0F / gt->deltatime;
|
||||
}
|
||||
|
||||
@@ -5,10 +5,13 @@
|
||||
|
||||
#include "error.h"
|
||||
#include "game/game.h"
|
||||
#include "game/gametime.h"
|
||||
#include "window/render.h"
|
||||
|
||||
static gamedata gdat; // initialized in init(), reading beforehand is undefined behaviour
|
||||
static renderdata rdat; // initialized in init(), reading beforehand is undefined behaviour
|
||||
// initialized in init(), reading beforehand is undefined behaviour
|
||||
static gametime gt;
|
||||
static gamedata gdat;
|
||||
static renderdata rdat;
|
||||
|
||||
// initialize the game
|
||||
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());
|
||||
|
||||
// initialize other game components
|
||||
gt = gametime_new();
|
||||
game_init(&gdat);
|
||||
render_init(&rdat, &gdat);
|
||||
}
|
||||
@@ -36,6 +40,7 @@ static void update(void) {
|
||||
}
|
||||
|
||||
// perform updates
|
||||
gametime_update(>);
|
||||
game_update(&gdat);
|
||||
render_update(&rdat);
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user