add bombs, closes #24
This commit is contained in:
29
src/game.h
29
src/game.h
@ -9,18 +9,26 @@ typedef struct game_t game_t;
|
||||
|
||||
#define GAME_TEAM_COUNT 8
|
||||
#define GAME_PLAYER_COUNT 64
|
||||
#define GAME_BOMB_COUNT (GAME_PLAYER_COUNT * 4)
|
||||
|
||||
struct player_t {
|
||||
uint8_t id;
|
||||
uint8_t status;
|
||||
uint16_t id;
|
||||
uint16_t status;
|
||||
double x, y, z;
|
||||
double rx, ry, rz, rw;
|
||||
double vx, vy, vz;
|
||||
team_t *team;
|
||||
};
|
||||
|
||||
struct bomb_t {
|
||||
uint8_t status;
|
||||
double x, y, z;
|
||||
double vx, vy, vz;
|
||||
double ttl;
|
||||
};
|
||||
|
||||
struct team_t {
|
||||
uint8_t id;
|
||||
uint16_t id;
|
||||
double x, y, z;
|
||||
float color[4];
|
||||
};
|
||||
@ -28,15 +36,20 @@ struct team_t {
|
||||
struct game_t {
|
||||
team_t team[GAME_TEAM_COUNT];
|
||||
player_t player[GAME_PLAYER_COUNT];
|
||||
int32_t max_player_id;
|
||||
bomb_t bomb[GAME_BOMB_COUNT];
|
||||
int16_t max_player_id;
|
||||
};
|
||||
|
||||
extern void game_setup(game_t *game);
|
||||
extern team_t *game_team_with_least_players(game_t *game);
|
||||
extern player_t *game_spawn_player(game_t *game, team_t *team);
|
||||
extern player_t *game_spawn_player_id(game_t *game, team_t *team, uint8_t id);
|
||||
extern team_t *game_team(game_t *game, uint8_t id);
|
||||
extern player_t *game_player(game_t *game, uint8_t id);
|
||||
extern player_t *game_spawn_player_id(game_t *game, team_t *team, uint16_t id);
|
||||
extern team_t *game_team(game_t *game, uint16_t id);
|
||||
extern player_t *game_player(game_t *game, uint16_t id);
|
||||
extern bomb_t *game_bomb(game_t *game, uint16_t index);
|
||||
extern void game_update_players(game_t *game, double dt);
|
||||
extern bomb_t *game_spawn_bomb(game_t *game);
|
||||
extern void game_update_bombs(game_t *game, double dt,
|
||||
void(*explosion_callback)(double x, double y, double z));
|
||||
|
||||
#endif
|
||||
#endif
|
||||
|
Reference in New Issue
Block a user