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
|
#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); \
|
||||||
|
|||||||
@@ -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;
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -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(>);
|
||||||
game_update(&gdat);
|
game_update(&gdat);
|
||||||
render_update(&rdat);
|
render_update(&rdat);
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user