diff options
author | UnavailableDev <69792062+UnavailableDev@users.noreply.github.com> | 2023-04-03 18:03:36 +0200 |
---|---|---|
committer | GitHub <noreply@github.com> | 2023-04-03 18:03:36 +0200 |
commit | f47d082d2fb2d5e5b5a4d3e685d8d093699938d7 (patch) | |
tree | c1ccb7a2dcda405df3ab850f66927e9b3d12c7c3 /src/GameLoop | |
parent | 68862666219c07ee62c9e59dd6866c1c7b26cc00 (diff) | |
parent | 9166352dfabdb0732d222be5d4ed10953f12a872 (diff) |
Merge pull request #50 from heavydemon21/dev
player controller update
Diffstat (limited to 'src/GameLoop')
-rw-r--r-- | src/GameLoop/shop.c | 78 | ||||
-rw-r--r-- | src/GameLoop/shop.h | 32 | ||||
-rw-r--r-- | src/GameLoop/startingScreen.c | 32 | ||||
-rw-r--r-- | src/GameLoop/startingScreen.h | 14 |
4 files changed, 0 insertions, 156 deletions
diff --git a/src/GameLoop/shop.c b/src/GameLoop/shop.c deleted file mode 100644 index fb7ef4c..0000000 --- a/src/GameLoop/shop.c +++ /dev/null @@ -1,78 +0,0 @@ -#include "shop.h" -#include "engine/maths.h" -#include "ppu/ppu.h" - -bool hh_show_Shop(){ - static hh_e_ShopStates hh_e_Shop = hh_e_shop_init; - static hh_e_upgrades upgrades[HH_SHOP_UPG_DISPLAY] = {0}; - static uint8_t selected = 0; - - switch (hh_e_Shop) - { - case hh_e_shop_init: - hh_clear_screen(); - hh_clear_sprite(); - - //TODO: render shop bg from level file here - //hh_setup_shop(); - hh_shop_init(&upgrades); - selected = HH_SHOP_UPG_DISPLAY/2; - hh_shop_display(selected, &upgrades); - hh_e_Shop = hh_e_shop_main; - return false; - break; - case hh_e_shop_main: - if(g_hh_controller_p1.dpad_left || g_hh_controller_p1.dpad_right){ - hh_shift_selected(&selected,(g_hh_controller_p1.dpad_right?1:0),0,HH_SHOP_UPG_DISPLAY); - hh_shop_display(selected, &upgrades); - } - if(g_hh_controller_p1.button_primary){ - //apply selected upgrade - hh_e_Shop = hh_e_shop_end; - } - if(g_hh_controller_p1.button_secondary){ - hh_e_Shop = hh_e_shop_end; - } - break; - case hh_e_shop_end: - hh_e_Shop = hh_e_shop_init; - return true; - break; - default: - hh_e_Shop = hh_e_shop_init; - break; - } - return false; -} - -void hh_shop_init(hh_e_upgrades* in) { - for (int i = 0; i < HH_SHOP_UPG_DISPLAY; i++) { - in[i] = i%HH_SHOP_UPG_COUNT; - } -} - -void hh_shop_display(uint8_t selected, hh_e_upgrades* upgrades) { - const vec_cor start = {48,16}; - const uint8_t up = 8, - space = 24+8; - - for (int i = 0; i < HH_SHOP_UPG_DISPLAY; i++) { - hh_ppu_update_foreground(i+16, - (hh_s_ppu_loc_fam_entry){ - .horizontal_flip = false, .vertical_flip = false, - .position_x = i*space+start.x, .position_y = start.y + (i==selected?up:0), - .palette_index = 7, - .tilemap_index = i - }); - } -} - -void hh_shift_selected(uint8_t* pos, bool dir, uint8_t min, uint8_t max) { - if (dir) { - pos = CLAMP(++pos,min,max); - } else { - if (pos > 0) { - pos--; - } - } -} diff --git a/src/GameLoop/shop.h b/src/GameLoop/shop.h deleted file mode 100644 index 5cd6b53..0000000 --- a/src/GameLoop/shop.h +++ /dev/null @@ -1,32 +0,0 @@ -#include "input.h" -#include "engine/draw_screen.h" - - - -#include <stdint.h> -#include <stdbool.h> - -typedef enum { - hh_e_shop_init, - hh_e_shop_main, - hh_e_shop_end -} hh_e_ShopStates; - -/** @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_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); - -bool hh_show_Shop(); diff --git a/src/GameLoop/startingScreen.c b/src/GameLoop/startingScreen.c deleted file mode 100644 index 4fc5af9..0000000 --- a/src/GameLoop/startingScreen.c +++ /dev/null @@ -1,32 +0,0 @@ -#include "startingScreen.h" -#include "input.h" -#include "engine/title_screen.h" -#include "engine/draw_screen.h" -// #include "engine/player_controller.h" - -bool hh_show_startingScreen(){ - static hh_e_screenStates hh_e_startingScreen = hh_e_STATE_SHOW; - - switch (hh_e_startingScreen) - { - case hh_e_STATE_SHOW: - hh_clear_screen(); - hh_init_title_screen(); - hh_e_startingScreen = hh_e_STATE_Input; - return false; - break; - case hh_e_STATE_Input: - if(g_hh_controller_p1.button_primary){ - hh_e_startingScreen = hh_e_STATE_END; - } - break; - case hh_e_STATE_END: - hh_e_startingScreen = hh_e_STATE_SHOW; - return true; - break; - default: - hh_e_startingScreen = hh_e_STATE_SHOW; - break; - } - return false; -} diff --git a/src/GameLoop/startingScreen.h b/src/GameLoop/startingScreen.h deleted file mode 100644 index f51cc66..0000000 --- a/src/GameLoop/startingScreen.h +++ /dev/null @@ -1,14 +0,0 @@ -#pragma once - -#include <stdint.h> -#include <stdbool.h> - -typedef enum { - hh_e_STATE_SHOW, - hh_e_STATE_Input, - hh_e_STATE_END -} hh_e_screenStates; - - -bool hh_show_startingScreen(); - |