X-Git-Url: http://git.rohieb.name/hackover2013-badge-firmware.git/blobdiff_plain/81be30fb6f37d0f9633d5883445f3ebc57989a53..6e1f414fe8b4997ed96e5af5d31b066bfcd7c11b:/badge/jumpnrun/jumpnrun.h diff --git a/badge/jumpnrun/jumpnrun.h b/badge/jumpnrun/jumpnrun.h index fc386c7..7890889 100644 --- a/badge/jumpnrun/jumpnrun.h +++ b/badge/jumpnrun/jumpnrun.h @@ -4,6 +4,7 @@ #include "enemies.h" #include "items.h" #include "levels.h" +#include "shots.h" #include "tiles.h" #include "../ui/sprite.h" @@ -14,8 +15,8 @@ enum { JUMPNRUN_PLAYING, - JUMPNRUN_DEAD, JUMPNRUN_WON, + JUMPNRUN_LOST, JUMPNRUN_ERROR }; @@ -24,31 +25,12 @@ enum { JUMPNRUN_MAX_SPAWNED_ENEMIES = 10 }; -typedef struct jumpnrun_shot { - rectangle current_box; - vec2d inertia; - uint8_t tick; -} jumpnrun_shot; - -static inline bool jumpnrun_shot_spawned(jumpnrun_shot const *shot) { return fixed_point_ne(shot->inertia.x, FIXED_INT(0)); } - -enum { - JUMPNRUN_MAX_SHOTS = 2 -}; - -typedef struct jumpnrun_game_state { - jumpnrun_moveable player; - - uint8_t status; - int left; - - jumpnrun_shot shots[JUMPNRUN_MAX_SHOTS]; -} jumpnrun_game_state; - -rectangle hacker_rect_current(jumpnrun_game_state const *state); - +vec2d jumpnrun_player_extents(void); +void jumpnrun_apply_gravity(vec2d *inertia); void jumpnrun_passive_movement(vec2d *inertia); +badge_sprite const *jumpnrun_hacker_symbol(void); -uint8_t jumpnrun_play(char const *lvname); +uint8_t jumpnrun_play_level(char const *lvname); +void jumpnrun_play(void); #endif