X-Git-Url: https://git.rohieb.name/hackover2013-badge-firmware.git/blobdiff_plain/47c27a4c712e6a1927656c69651354df40c3864a..cddc537f3359281db6c16b6b059ca20a20f970c5:/badge/jumpnrun/player.h?ds=inline diff --git a/badge/jumpnrun/player.h b/badge/jumpnrun/player.h index 27e4cc2..4277334 100644 --- a/badge/jumpnrun/player.h +++ b/badge/jumpnrun/player.h @@ -11,6 +11,7 @@ enum { }; enum { + JUMPNRUN_PLAYER_TICKS_PER_FRAME = 6, JUMPNRUN_PLAYER_FRAMES = 4 }; @@ -21,7 +22,15 @@ typedef struct jumpnrun_player { uint8_t keys; } jumpnrun_player; -void jumpnrun_player_spawn (jumpnrun_player *self, vec2d spawn_pos, uint8_t lives); -void jumpnrun_player_respawn (jumpnrun_player *self, vec2d spawn_pos); +void jumpnrun_player_spawn (jumpnrun_player *self, vec2d spawn_pos, uint8_t lives); +void jumpnrun_player_respawn(jumpnrun_player *self, vec2d spawn_pos); +void jumpnrun_player_kill (jumpnrun_player *self); +void jumpnrun_player_despawn(jumpnrun_player *self); + +void jumpnrun_player_advance_animation(jumpnrun_player *self); + +static inline bool jumpnrun_player_alive(jumpnrun_player const *self) { + return (self->base.flags & (JUMPNRUN_PLAYER_DEAD | JUMPNRUN_MOVEABLE_DYING)) == 0; +} #endif