power_play/src/game.h
2024-03-28 13:31:35 -05:00

45 lines
947 B
C

#ifndef GAME_H
#define GAME_H
struct world;
struct mixer_startup_receipt;
struct sheet_startup_receipt;
struct sound_startup_receipt;
enum game_cmd_kind {
GAME_CMD_KIND_NONE,
GAME_CMD_KIND_PLAYER_MOVE,
/* Testing */
GAME_CMD_KIND_CLEAR_ALL,
GAME_CMD_KIND_COUNT
};
struct game_cmd {
enum game_cmd_kind kind;
/* GAME_CMD_KIND_PLAYER_MOVE */
struct v2 move_dir;
struct v2 aim;
};
struct game_cmd_array {
struct game_cmd *cmds;
u64 count;
};
struct game_startup_receipt { i32 _; };
struct game_startup_receipt game_startup(struct mixer_startup_receipt *mixer_sr,
struct sheet_startup_receipt *sheet_sr,
struct sound_startup_receipt *sound_sr);
void game_shutdown(void);
void game_get_latest_tick(struct world *dest);
u64 game_get_latest_tick_id(void);
void game_push_cmds(struct game_cmd_array cmd_array);
#endif