Implement hot reloading

This commit is contained in:
2025-01-05 19:41:44 +00:00
parent 1531817dc4
commit 2077ecde63
6 changed files with 100 additions and 13 deletions

View File

@@ -21,14 +21,28 @@ typedef enum {
GAMESTATUS_QUIT,
} gamestatus_t;
typedef void
game_init_t(int argc, char *argv[], void *mem, SDL_Renderer *renderer);
typedef void game_teardown_t(void *mem);
typedef gamestatus_t game_evt_t(void *mem, const SDL_Event *evt);
typedef gamestatus_t game_update_t(void *mem, double dt);
typedef void
game_render_t(const void *mem, SDL_Renderer *renderer, long unsigned t);
#define HOOKS_XLIST \
X(game_init) \
X(game_teardown) \
X(game_evt) \
X(game_update) \
X(game_render)
#ifndef HOTRELOAD
extern const engineconf_t game_conf;
void game_init(int argc, char *argv[], void *mem, SDL_Renderer *renderer);
void game_teardown(void *mem);
gamestatus_t game_evt(void *mem, const SDL_Event *evt);
gamestatus_t game_update(void *mem, double dt);
void game_render(const void *mem, SDL_Renderer *renderer, long unsigned t);
#define X(hook) hook##_t hook;
HOOKS_XLIST
#undef X
#endif
#endif