aboutsummaryrefslogtreecommitdiff
path: root/src/game_loop/shop.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/game_loop/shop.h')
-rw-r--r--src/game_loop/shop.h19
1 files changed, 18 insertions, 1 deletions
diff --git a/src/game_loop/shop.h b/src/game_loop/shop.h
index 7d01b7e..b0ad5e4 100644
--- a/src/game_loop/shop.h
+++ b/src/game_loop/shop.h
@@ -10,9 +10,26 @@
typedef enum {
hh_e_shop_show,
- hh_e_shop_input,
+ hh_e_shop_main,
hh_e_shop_end,
} hh_e_shop_states;
+/** @brief amount of upgrade types */
+#define HH_SHOP_UPG_COUNT 2
+/** @brief count of visible upgrades in shop */
+#define HH_SHOP_UPG_DISPLAY 4
+/** @brief all possible upgrades */
+typedef enum {
+ hh_e_upg_jump,
+ hh_e_upg_heal,
+ hh_e_upg_max_health,
+} hh_e_upgrades;
+
+/** @brief init */
+void hh_shop_init(hh_e_upgrades* in);
+/** @brief deals with displayed entity rendering */
+void hh_shop_display(uint8_t selected, hh_e_upgrades* upgrades);
+/** @brief moves 'cursor' through selection field */
+void hh_shift_selected(uint8_t* pos, bool dir, uint8_t min, uint8_t max);
void hh_shop(hh_e_game_state*);