summaryrefslogtreecommitdiffhomepage
path: root/src/main.c
diff options
context:
space:
mode:
authorarngo <[email protected]>2023-05-30 23:31:01 -0400
committerarngo <[email protected]>2023-05-30 23:31:01 -0400
commit8ff42715e5971f0257c70a639af0106b0199c7c6 (patch)
tree800684fcc1ab26416622f308b35f724f57159677 /src/main.c
parent5d1931537edb60b48538b714944eca7ce5db2739 (diff)
downloadTOJam2023-8ff42715e5971f0257c70a639af0106b0199c7c6.tar.gz
TOJam2023-8ff42715e5971f0257c70a639af0106b0199c7c6.zip
implement menu system
Diffstat (limited to 'src/main.c')
-rw-r--r--src/main.c45
1 files changed, 32 insertions, 13 deletions
diff --git a/src/main.c b/src/main.c
index ba2c6b7..6dda3dc 100644
--- a/src/main.c
+++ b/src/main.c
@@ -8,6 +8,7 @@
#include "wall.h"
#include "debug.h"
#include "init.h"
+#include "menu.h"
const uint16_t window_width = 1600;
const uint16_t window_height = 900;
@@ -27,15 +28,26 @@ main_loop(void)
mrodeo_frame_do()
{
- // retrieve and apply player input
- parse_player_input();
+ if (get_player_hp() > 0 && get_menu_state() == menu_state_inactive)
+ {
+ // retrieve and apply player input
+ parse_player_input();
- player_shoot(get_player_bullet_world());
- enemies_attempt_weapon_fire();
+ player_shoot(get_player_bullet_world());
+ enemies_attempt_weapon_fire();
+
+ // spawn enemies
+ attempt_random_enemy_spawn((rodeo_rectangle_t){ 0, 0, window_width, window_height });
+ }
+ else
+ {
+ parse_menu_input();
+ if (get_player_hp() <= 0)
+ {
+ set_menu_state(menu_state_gameover);
+ }
+ }
- // spawn enemies
- attempt_random_enemy_spawn((rodeo_rectangle_t){ 0, 0, window_width, window_height });
-
// run enemy movement ai
group_follow_target(get_player_position());
@@ -51,15 +63,22 @@ main_loop(void)
move_player();
draw_level();
- draw_bullets();
- draw_player();
- draw_enemies();
- draw_hp_bar();
+ if (get_menu_state() == menu_state_inactive || get_menu_state() == menu_state_gameover)
+ {
+ draw_bullets();
+ if (get_menu_state() != menu_state_gameover)
+ {
+ draw_player();
+ }
+ draw_enemies();
+ draw_hp_bar();
+ }
+ draw_menu();
- draw_debug_text(
+ /*draw_debug_text(
renderer_name,
fps_display
- );
+ );*/
}
}