From 8ff42715e5971f0257c70a639af0106b0199c7c6 Mon Sep 17 00:00:00 2001 From: arngo <27396817+arngo@users.noreply.github.com> Date: Tue, 30 May 2023 23:31:01 -0400 Subject: implement menu system --- src/main.c | 45 ++++++++++++++++++++++++++++++++------------- 1 file changed, 32 insertions(+), 13 deletions(-) (limited to 'src/main.c') 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 - ); + );*/ } } -- cgit v1.2.3