diff options
Diffstat (limited to 'lib/snapshot.c')
| -rw-r--r-- | lib/snapshot.c | 142 |
1 files changed, 0 insertions, 142 deletions
diff --git a/lib/snapshot.c b/lib/snapshot.c deleted file mode 100644 index d7dde50..0000000 --- a/lib/snapshot.c +++ /dev/null @@ -1,142 +0,0 @@ -#include <stdlib.h> -#include <string.h> - -#include "common.h" - -#include "snapshot.h" - -int -dp_snapshot_init(struct snapshot *s, int32_t players_len, int32_t balls_len) -{ - if (!s) - return -1; - - if (!(s->players = calloc(players_len, sizeof(*s->players)))) - return -1; - if (!(s->balls = calloc(balls_len, sizeof(*s->balls)))) - { - free(s->players); - return -1; - } - s->players_len = players_len; - s->balls_len = balls_len; - return 0; -} - -void -dp_snapshot_deinit(struct snapshot *s) -{ - if (!s) - return; - if (s->players) - { - free(s->players); - s->players = NULL; - } - if (s->balls) - { - free(s->balls); - s->balls = NULL; - } -} - -int -dp_snapshot_put_player(struct snapshot *s, int32_t id, const struct player *p) -{ - if (!s || !p) - return -1; - if (id >= s->players_len) - return -1; - - s->players[id] = *p; - s->players[id].state = STATE_ACTIVE; - return 0; -} - -struct player * -dp_snapshot_get_player(struct snapshot *s, int32_t id) -{ - struct player *p; - - if (!s) - return NULL; - if (id >= s->players_len) - return NULL; - - p = &s->players[id]; - if (p->state == STATE_INACTIVE) - return NULL; - return p; -} - -int -dp_snapshot_remove_player(struct snapshot *s, int32_t id) -{ - struct player *p; - - if (!s) - return -1; - if (id >= s->players_len) - return -1; - - p = dp_snapshot_get_player(s, id); - memset(p, 0, sizeof(*p)); - p->state = STATE_REMOVED; - return 0; -} - -int -dp_snapshot_set_player_input(struct snapshot *s, int32_t id, uint8_t input) -{ - struct player *p; - - if (!(p = dp_snapshot_get_player(s, id))) - return -1; - p->input = input; - return 0; -} - -int -dp_snapshot_put_ball(struct snapshot *s, int32_t id, const struct ball *b) -{ - if (!s || !b) - return -1; - if (id >= s->balls_len) - return -1; - - s->balls[id] = *b; - s->balls[id].state = STATE_ACTIVE; - return 0; -} - -struct ball * -dp_snapshot_get_ball(struct snapshot *s, int32_t id) -{ - struct ball *b; - - if (!s) - return NULL; - if (id >= s->balls_len) - return NULL; - - b = &s->balls[id]; - if (b->state == STATE_INACTIVE) - return NULL; - return b; -} - -int -dp_snapshot_remove_ball(struct snapshot *s, int32_t id) -{ - struct ball *b; - - if (!s) - return -1; - if (id >= s->balls_len) - return -1; - - b = dp_snapshot_get_ball(s, id); - memset(b, 0, sizeof(*b)); - b->state = STATE_REMOVED; - return 0; -} |
