summaryrefslogtreecommitdiffhomepage
path: root/src/main.c
diff options
context:
space:
mode:
authorrealtradam <[email protected]>2023-05-30 18:27:27 -0400
committerrealtradam <[email protected]>2023-05-30 18:27:27 -0400
commitfdffc6ef7cc37ae1c4d78f5f869d2b8f027d5aaa (patch)
treef94c6c1a5a523d23b9ddd76c821587f16d84da1e /src/main.c
parentc43ac3e4ce4375b6fa1fa9927e20ff4f88504429 (diff)
downloadTOJam2023-fdffc6ef7cc37ae1c4d78f5f869d2b8f027d5aaa.tar.gz
TOJam2023-fdffc6ef7cc37ae1c4d78f5f869d2b8f027d5aaa.zip
fix rendering bug and clean up some code
Diffstat (limited to 'src/main.c')
-rw-r--r--src/main.c131
1 files changed, 37 insertions, 94 deletions
diff --git a/src/main.c b/src/main.c
index 0b68cca..ba2c6b7 100644
--- a/src/main.c
+++ b/src/main.c
@@ -6,147 +6,90 @@
#include "bullet.h"
#include "enemies.h"
#include "wall.h"
-#include "rodeo/collision.h"
+#include "debug.h"
+#include "init.h"
const uint16_t window_width = 1600;
const uint16_t window_height = 900;
-
-cstr renderer;
-float time_var;
-
-rodeo_audio_sound_t *scratch = NULL;
-rodeo_audio_music_t *music = NULL;
+// variables for storing debug info that can be displayed
+cstr renderer_name;
+float fps_display;
void
main_loop(void)
{
if(rodeo_frame_count_get() % 10 == 0)
{
- time_var = rodeo_frame_perSecond_get();
+ fps_display = rodeo_frame_perSecond_get();
}
+
mrodeo_frame_do()
{
+ // retrieve and apply player input
parse_player_input();
- if(*(bool*)play_sound_input(NULL, NULL))
- {
- rodeo_audio_sound_play(scratch);
- }
- if(*(bool*)play_sound_input2(NULL, NULL))
- {
- rodeo_audio_music_play_fadeIn(music, 1000);
- }
- if(*(bool*)play_sound_input3(NULL, NULL))
- {
- rodeo_audio_music_stop_fadeOut(1000);
- }
-
player_shoot(get_player_bullet_world());
enemies_attempt_weapon_fire();
- if (get_enemy_count() < 50)
- {
- attempt_random_enemy_spawn((rodeo_rectangle_t){ 0, 0, window_width, window_height });
- }
-
+ // 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());
- draw_level();
- draw_bullets();
- draw_player();
- draw_enemies();
- draw_hp_bar();
-
detect_bullet_enemy_collisions();
detect_bullet_wall_collisions();
detect_player_enemy_collisions();
detect_player_wall_collisions();
detect_enemy_wall_collisions();
+ // apply movements
move_bullets();
move_enemies();
move_player();
- rodeo_debug_text_draw(
- 1,
- 1,
- " using %s renderer ",
- cstr_str(
- &renderer
- )
- );
-
- rodeo_debug_text_draw(
- 2,
- 2,
- " frame count: %"PRIu64" ",
- rodeo_frame_count_get()
- );
+ draw_level();
+ draw_bullets();
+ draw_player();
+ draw_enemies();
+ draw_hp_bar();
- rodeo_debug_text_draw(
- 2,
- 3,
- " fps: %.2f ",
- time_var
+ draw_debug_text(
+ renderer_name,
+ fps_display
);
- rodeo_debug_text_draw(
- 2,
- 4,
- " enemy count: %d ",
- get_enemy_count()
- );
}
}
int
main(void)
{
- rodeo_log(
- rodeo_logLevel_info,
- "Testing logging... It seems to work!"
- );
- rodeo_log(
- rodeo_logLevel_warning,
- "Testing warning log level... It seems to work!"
- );
- rodeo_log(
- rodeo_logLevel_error,
- "Testing error log level... It seems to work!"
- );
-
-
- register_inputs();
inputs_register_do()
{
mrodeo_window_do(window_height, window_width, cstr_lit("Rodeo Window"))
{
- renderer = rodeo_renderer_name_get();
+ renderer_name = rodeo_renderer_name_get();
rodeo_frame_limit_set(60);
- scratch = rodeo_audio_sound_create_from_path(cstr_lit("assets/sample.wav"));
- music = rodeo_audio_music_create_from_path(cstr_lit("assets/music.ogg"));
-
- bullets_init_do()
+ game_systems_init_do()
{
- player_init_do()
- {
- enemies_init_do()
- {
- wall_init_do()
- {
- //spawn_enemy(400.0f,700.0f);
- //spawn_enemy(900.0f,700.0f);
- //spawn_enemy(400.0f,100.0f);
- //spawn_enemy(900.0f,100.0f);
- rodeo_mainLoop_run(
- main_loop
- );
- }
- }
- }
+ // use to test manually spawning enemies
+ //spawn_enemy(400.0f,700.0f);
+ //spawn_enemy(900.0f,700.0f);
+ //spawn_enemy(400.0f,100.0f);
+ //spawn_enemy(900.0f,100.0f);
+ //for(int i = 0; i < 1500; ++i)
+ //{
+ // float rng1 = ((float)rodeo_random_double_get() * 100) + 150;
+ // float rng2 = ((float)rodeo_random_double_get() * 100) + 150;
+ // spawn_ghost(rng1,rng2);
+ //}
+ rodeo_mainLoop_run(
+ main_loop
+ );
}
}
}