X-Git-Url: https://git.rohieb.name/hackover2013-badge-firmware.git/blobdiff_plain/a7875e0dd83390a47de359df1f33a017ecb3f065..ac05cee74d9922fdca433dd2c03fd8542002bb28:/badge/jumpnrun/items.h diff --git a/badge/jumpnrun/items.h b/badge/jumpnrun/items.h index 3ea9668..e939e68 100644 --- a/badge/jumpnrun/items.h +++ b/badge/jumpnrun/items.h @@ -5,14 +5,23 @@ #include "../util/rectangle.h" struct jumpnrun_game_state; +struct jumpnrun_level; +struct jumpnrun_item; + +enum { + JUMPNRUN_ITEM_COLLECTED = 1 +}; typedef struct jumpnrun_item_type { badge_sprite sprite; - void (*on_collect)(struct jumpnrun_game_state *state); + void (*on_collect)(struct jumpnrun_item *item, + struct jumpnrun_game_state *state, + struct jumpnrun_level *lv); } jumpnrun_item_type; typedef struct jumpnrun_item { - vec2d pos; + vec2d pos; + uint8_t flags; jumpnrun_item_type const *type; } jumpnrun_item; @@ -25,6 +34,9 @@ static inline rectangle rect_from_item(jumpnrun_item const *item) { enum { JUMPNRUN_ITEM_TYPE_DOCUMENT, + JUMPNRUN_ITEM_TYPE_CHECKPOINT, + JUMPNRUN_ITEM_TYPE_KEY, + JUMPNRUN_ITEM_TYPE_ENCRYPTED_DOCUMENT, JUMPNRUN_ITEM_TYPE_COUNT };