From 5917762411f9f2c1eb052fbebb712937bc49c6cc Mon Sep 17 00:00:00 2001 From: arngo <27396817+arngo@users.noreply.github.com> Date: Sun, 28 May 2023 14:54:04 -0400 Subject: bubble assets --- assets/blowing_bubbles.wav | Bin 0 -> 96710 bytes assets/pop.wav | Bin 0 -> 49412 bytes 2 files changed, 0 insertions(+), 0 deletions(-) create mode 100644 assets/blowing_bubbles.wav create mode 100644 assets/pop.wav diff --git a/assets/blowing_bubbles.wav b/assets/blowing_bubbles.wav new file mode 100644 index 0000000..635bfa1 Binary files /dev/null and b/assets/blowing_bubbles.wav differ diff --git a/assets/pop.wav b/assets/pop.wav new file mode 100644 index 0000000..3cef580 Binary files /dev/null and b/assets/pop.wav differ -- cgit v1.2.3 From 2367040ec37ef501446b530c0c5d51863b381627 Mon Sep 17 00:00:00 2001 From: arngo <27396817+arngo@users.noreply.github.com> Date: Sun, 28 May 2023 16:47:46 -0400 Subject: level walls and assets --- assets/floor.png | Bin 0 -> 147486 bytes assets/walls.png | Bin 0 -> 203132 bytes src/main.c | 8 ++++---- src/wall.c | 40 ++++++++++++++++++++++++++++++++++++++++ src/wall.h | 3 +++ 5 files changed, 47 insertions(+), 4 deletions(-) create mode 100644 assets/floor.png create mode 100644 assets/walls.png diff --git a/assets/floor.png b/assets/floor.png new file mode 100644 index 0000000..e400264 Binary files /dev/null and b/assets/floor.png differ diff --git a/assets/walls.png b/assets/walls.png new file mode 100644 index 0000000..f263bd1 Binary files /dev/null and b/assets/walls.png differ diff --git a/src/main.c b/src/main.c index 09902fc..2024eb9 100644 --- a/src/main.c +++ b/src/main.c @@ -51,6 +51,7 @@ main_loop(void) move_bullets(); move_enemies(); group_follow_target(get_player_position()); + draw_level(); draw_bullets(); draw_player(); draw_enemies(); @@ -101,6 +102,8 @@ main(void) rodeo_logLevel_error, "Testing error log level... It seems to work!" ); + + mrodeo_window_do(window_height, window_width, cstr_lit("Rodeo Window")) { renderer = rodeo_renderer_name_get(); @@ -113,10 +116,7 @@ main(void) init_player(); init_enemies(); init_wall(); - new_wall(0, -10, window_width, 10); - new_wall(0, window_height, window_width, 10); - new_wall(-10, 0, 10, window_height); - new_wall(window_width, 0, 10, window_height); + rodeo_mainLoop_run( main_loop diff --git a/src/wall.c b/src/wall.c index 5a2d6df..38010bf 100644 --- a/src/wall.c +++ b/src/wall.c @@ -1,11 +1,42 @@ #include "wall.h" +#include "rodeo.h" static rodeo_collision_2d_world_t collision_wall_world; +rodeo_texture_2d_t wall_texture; +rodeo_texture_2d_t floor_texture; void init_wall(void) { + wall_texture = rodeo_texture_2d_create_from_path(cstr_lit("assets/walls.png")); + floor_texture = rodeo_texture_2d_create_from_path(cstr_lit("assets/floor.png")); + uint16_t window_width = 1600; + uint16_t window_height = 900; collision_wall_world = rodeo_collision_2d_world_create(); + float walls[][4] = { + {0, -10, window_width, 10}, + {0, window_height, window_width, 10}, + {-10, 0, 10, window_height}, + {window_width, 0, 10, window_height}, + {169,105,72,263}, + {241,105,191,73}, + {1169,105,262,72}, + {1359,177,72,190}, + {1169,723,262,72}, + {1359,533,72,190}, + {169,533,72,262}, + {241,723,191,72}, + {764,200,72,500}, + {550,414,501,72} + }; + int numwalls = sizeof(walls)/sizeof(walls[0]); + new_wall(0, -10, window_width, 10); + new_wall(0, window_height, window_width, 10); + new_wall(-10, 0, 10, window_height); + new_wall(window_width, 0, 10, window_height); + for (int i = 0; i < numwalls; ++i) { + new_wall(walls[i][0], walls[i][1], walls[i][2], walls[i][3]); + } } void @@ -53,3 +84,12 @@ coords_inside_wall( } return false; } + +void +draw_level(void) +{ + rodeo_rectangle_t rect = (rodeo_rectangle_t){0,0,1600,900}; + rodeo_texture_2d_draw(&rect, &rect, NULL, &wall_texture); + rodeo_texture_2d_draw(&rect, &rect, NULL, &floor_texture); + +} diff --git a/src/wall.h b/src/wall.h index 6e3dc48..684c595 100644 --- a/src/wall.h +++ b/src/wall.h @@ -22,3 +22,6 @@ coords_inside_wall( float x, float y ); + +void +draw_level(void); -- cgit v1.2.3 From f9996cb800be544b64dd871d652eeb8c7870edf2 Mon Sep 17 00:00:00 2001 From: arngo <27396817+arngo@users.noreply.github.com> Date: Sun, 28 May 2023 17:02:29 -0400 Subject: bubble sounds --- src/bullet.c | 4 ++++ src/player.c | 7 +++++++ 2 files changed, 11 insertions(+) diff --git a/src/bullet.c b/src/bullet.c index cfb12bf..c3015a6 100644 --- a/src/bullet.c +++ b/src/bullet.c @@ -6,6 +6,7 @@ #include "rodeo/collision.h" static rodeo_texture_2d_t bullet_texture; +static rodeo_audio_sound_t *pop_sound; //static rodeo_collision_2d_world_t bullet_collision_world; static rodeo_collision_2d_world_t player_bullet_collision_world = {0}; static rodeo_collision_2d_world_t enemy_bullet_collision_world = {0}; @@ -15,12 +16,14 @@ void init_bullets(void) { bullet_texture = rodeo_texture_2d_create_from_path(cstr_lit("assets/bullet.png")); + pop_sound = rodeo_audio_sound_create_from_path(cstr_lit("assets/pop.wav")); } void deinit_bullets(void) { rodeo_texture_2d_destroy(&bullet_texture); + rodeo_audio_sound_destroy(pop_sound); } bullet_t * @@ -148,6 +151,7 @@ bullet_destroy( rodeo_collision_2d_world_item_destroy_by_id(bullet->id); *bullet = *cvec_bullet_t_back(&bullets); cvec_bullet_t_pop(&bullets); + rodeo_audio_sound_play(pop_sound); } void bullet_wall_resolver( diff --git a/src/player.c b/src/player.c index 5a8ba0f..1270ea3 100644 --- a/src/player.c +++ b/src/player.c @@ -29,6 +29,7 @@ struct player_t player = { 0 }; typedef struct player_t player_t; +static rodeo_audio_sound_t *bubbles_sound; // 0-19 jumping // 61 standing @@ -42,6 +43,7 @@ static float orc_size[] = {13.0f * 2.0f, 19.0f * 2.0f}; void init_player(void) { + bubbles_sound = rodeo_audio_sound_create_from_path(cstr_lit("assets/blowing_bubbles.wav")); player.texture = rodeo_texture_2d_create_from_path(cstr_lit("assets/mainblob-128.png")); player.shadow_texture = rodeo_texture_2d_create_from_path(cstr_lit("assets/blobshadow.png")); player.aim_texture = rodeo_texture_2d_create_from_path(cstr_lit("assets/aim.png")); @@ -79,6 +81,7 @@ deinit_player(void) { rodeo_texture_2d_destroy(&player.texture); rodeo_collision_2d_world_destroy(&player_collision_world); + rodeo_audio_sound_destroy(bubbles_sound); } void @@ -150,6 +153,10 @@ move_player(void) { player.move_state = mv_state_standing; } + if(player.sprite.iter == 1) + { + rodeo_audio_sound_play(bubbles_sound); + } cvec_collision_2d_world_item_value *player_position = rodeo_collision_2d_world_item_get_by_id(player.collision_id); player_position->x += player_position->dx * ((60.0f - (float)player.sprite.iter) / 60.0f); player_position->dx = 0; -- cgit v1.2.3