#include "types.h" #include "constants.h" enum { STATE_INACTIVE = 0, STATE_ACTIVE, STATE_REMOVED, STATE_DEAD }; struct player { uint8_t state; uint8_t input; char pad[2]; vec2 pos; vec2 vel; }; struct ball { uint8_t state; vec2 pos; vec2 vel; }; struct snapshot { char active; uint32_t tick; struct player players[WORLD_MAX_PLAYERS]; struct ball balls[WORLD_MAX_BULLETS]; }; int dp_snapshot_put_player(struct snapshot *, uint32_t id, const struct player *); struct player *dp_snapshot_get_player(struct snapshot *, uint32_t id); int dp_snapshot_remove_player(struct snapshot *, uint32_t id); int dp_snapshot_set_player_input(struct snapshot *, uint32_t id, uint8_t input); int dp_snapshot_put_ball(struct snapshot *, uint32_t id, const struct ball *); struct ball *dp_snapshot_get_ball(struct snapshot *, uint32_t id); int dp_snapshot_remove_ball(struct snapshot *, uint32_t id);