diff options
| author | realtradam <[email protected]> | 2023-05-29 22:42:36 -0400 |
|---|---|---|
| committer | realtradam <[email protected]> | 2023-05-29 22:42:36 -0400 |
| commit | 53cd72592c3b900175ac069708f4937c83dea37c (patch) | |
| tree | 9df89ffdbf595f64846b5a95aaf2e4371440f07b | |
| parent | 3b821ced9b6e9e363996b2aee0e497a2de204b44 (diff) | |
| download | TOJam2023-53cd72592c3b900175ac069708f4937c83dea37c.tar.gz TOJam2023-53cd72592c3b900175ac069708f4937c83dea37c.zip | |
better init and deinit of systems
| -rw-r--r-- | src/bullet.h | 6 | ||||
| -rw-r--r-- | src/enemies.h | 6 | ||||
| -rw-r--r-- | src/input.h | 6 | ||||
| -rw-r--r-- | src/main.c | 49 | ||||
| -rw-r--r-- | src/player.h | 6 | ||||
| -rw-r--r-- | src/wall.h | 6 |
6 files changed, 56 insertions, 23 deletions
diff --git a/src/bullet.h b/src/bullet.h index e335d7d..7bb8d6c 100644 --- a/src/bullet.h +++ b/src/bullet.h @@ -21,6 +21,12 @@ init_bullets(void); void deinit_bullets(void); +#define bullets_init_do() \ + mrodeo_defer_do( \ + init_bullets(), \ + deinit_bullets() \ + ) + bullet_t * spawn_bullet( float x, diff --git a/src/enemies.h b/src/enemies.h index b111885..b2e9b6b 100644 --- a/src/enemies.h +++ b/src/enemies.h @@ -49,6 +49,12 @@ init_enemies(void); void deinit_enemies(void); +#define enemies_init_do() \ + mrodeo_defer_do( \ + init_enemies(), \ + deinit_enemies() \ + ) + enemy_t* spawn_enemy( float x, diff --git a/src/input.h b/src/input.h index c03c454..c73e59a 100644 --- a/src/input.h +++ b/src/input.h @@ -77,3 +77,9 @@ register_inputs(void); void unregister_inputs(void); + +#define inputs_register_do() \ + mrodeo_defer_do( \ + register_inputs(), \ + unregister_inputs() \ + ) @@ -92,8 +92,6 @@ main_loop(void) int main(void) { - register_inputs(); - rodeo_log( rodeo_logLevel_info, "Testing logging... It seems to work!" @@ -108,29 +106,34 @@ main(void) ); - mrodeo_window_do(window_height, window_width, cstr_lit("Rodeo Window")) + register_inputs(); + inputs_register_do() { - renderer = 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")); - - init_bullets(); - init_player(); - init_enemies(); - init_wall(); - - - rodeo_mainLoop_run( - main_loop - ); - - deinit_player(); - deinit_enemies(); + mrodeo_window_do(window_height, window_width, cstr_lit("Rodeo Window")) + { + renderer = 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() + { + player_init_do() + { + enemies_init_do() + { + wall_init_do() + { + rodeo_mainLoop_run( + main_loop + ); + } + } + } + } + } } - unregister_inputs(); - return 0; } diff --git a/src/player.h b/src/player.h index f102b1d..6603554 100644 --- a/src/player.h +++ b/src/player.h @@ -28,6 +28,12 @@ init_player(void); void deinit_player(void); +#define player_init_do() \ + mrodeo_defer_do( \ + init_player(), \ + deinit_player() \ + ) + void draw_player(void); @@ -6,6 +6,12 @@ init_wall(void); void deinit_wall(void); +#define wall_init_do() \ + mrodeo_defer_do( \ + init_wall(), \ + deinit_wall() \ + ) + rodeo_collision_2d_world_t * get_wall_world(void); |
