void (*collision_player)(struct jumpnrun_enemy *self,
struct jumpnrun_game_state *state,
vec2d *player_inertia_mod);
- void (*game_tick)(struct jumpnrun_enemy *self,
+ void (*collision_shots)(struct jumpnrun_enemy *self,
+ struct jumpnrun_game_state *state);
+
+ void (*move_tick)(struct jumpnrun_enemy *self,
struct jumpnrun_game_state *state,
struct jumpnrun_level *lv,
struct jumpnrun_tile_range const *visible_tiles,
enum {
JUMPNRUN_ENEMY_SPAWNED = 1,
JUMPNRUN_ENEMY_UNAVAILABLE = 2,
- JUMPNRUN_ENEMY_FACING_RIGHT = 4
+ JUMPNRUN_ENEMY_FACING_RIGHT = 4,
+ JUMPNRUN_ENEMY_EVENT_TRIGGER1 = 128
};
static inline rectangle const *enemy_box (jumpnrun_enemy const *enemy) { return &enemy->base.current_box ; }
JUMPNRUN_ENEMY_TYPE_ROTOR,
JUMPNRUN_ENEMY_TYPE_DOG,
JUMPNRUN_ENEMY_TYPE_GIRAFFE,
+ JUMPNRUN_ENEMY_TYPE_BIRD,
+ JUMPNRUN_ENEMY_TYPE_BIRD_STRAIGHT,
+ JUMPNRUN_ENEMY_TYPE_BIRD_DIP,
JUMPNRUN_ENEMY_TYPE_COUNT
};