-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;
+}