From d2c3f612b3d7b0071e98e589777d495ba45eafe4 Mon Sep 17 00:00:00 2001 From: Aldrik Ramaekers Date: Sun, 29 Oct 2023 08:26:31 +0100 Subject: more sounds --- src/asset_defs.c | 2 ++ src/audio.c | 8 +++++--- src/bullets.c | 13 +++++++------ src/game.c | 8 +++++--- 4 files changed, 19 insertions(+), 12 deletions(-) (limited to 'src') diff --git a/src/asset_defs.c b/src/asset_defs.c index a83ad96..ee8dced 100644 --- a/src/asset_defs.c +++ b/src/asset_defs.c @@ -39,6 +39,8 @@ void load_assets() { wav_throwable_bounce = Mix_LoadWAV("data/sounds/throwable_bounce.wav"); wav_shoot_mp5 = Mix_LoadWAV("data/sounds/shoot_mp5.wav"); wav_reload_mp5 = Mix_LoadWAV("data/sounds/reload_mp5.wav"); + wav_shoot_nova = Mix_LoadWAV("data/sounds/shoot_nova.wav"); + wav_reload_nova = Mix_LoadWAV("data/sounds/reload_nova.wav"); wav_impact_wood = Mix_LoadWAV("data/sounds/impact_wood.wav"); wav_error = Mix_LoadWAV("data/sounds/error.wav"); wav_impact_zombie = Mix_LoadWAV("data/sounds/impact_zombie.wav"); diff --git a/src/audio.c b/src/audio.c index b174610..c6f69b9 100644 --- a/src/audio.c +++ b/src/audio.c @@ -26,8 +26,8 @@ static int get_channel_from_audio_event_type(audio_event_type event) { switch (event) { case EVENT_BOUNCE_THROWABLE: return CHANNEL_THROWABLES; - case EVENT_SHOOT: - case EVENT_RELOAD: return CHANNEL_SHOOTING; + case EVENT_SHOOT: return CHANNEL_SHOOTING; + case EVENT_RELOAD: return CHANNEL_RELOAD; case EVENT_IMPACT: return CHANNEL_IMPACT; default: return 0; @@ -45,13 +45,15 @@ static Mix_Chunk* get_sample_from_audio_event(audio_event event, u32 playerid) { switch (p->guntype) { case GUN_MP5: return wav_shoot_mp5; + case GUN_NOVA: return wav_shoot_nova; default: return wav_error; } } case EVENT_RELOAD: { switch (p->guntype) { - case GUN_MP5: return wav_reload_mp5; + case GUN_MP5: return wav_reload_mp5; + case GUN_NOVA: return wav_reload_nova; default: return wav_error; } } diff --git a/src/bullets.c b/src/bullets.c index f7f033d..403b1b6 100644 --- a/src/bullets.c +++ b/src/bullets.c @@ -20,12 +20,6 @@ void shoot(platform_window* window, u32 id, float dirx, float diry) { int bullets_to_shoot = g.bullets_per_shot; if (bullets_to_shoot > p->ammo_in_mag) bullets_to_shoot = p->ammo_in_mag; p->ammo_in_mag -= bullets_to_shoot; - if (p->ammo_in_mag == 0) { - add_audio_event_to_queue(EVENT_RELOAD, p->id, (vec3f){.x = p->playerx, .y = p->playery, .z = p->height}); - p->interact_state = INTERACT_RELOADING; - p->sec_since_interact_state_change = 0; - return; - } add_audio_event_to_queue(EVENT_SHOOT, p->id, (vec3f){.x = p->playerx, .y = p->playery, .z = p->height}); @@ -50,6 +44,13 @@ void shoot(platform_window* window, u32 id, float dirx, float diry) { break; } } + + if (p->ammo_in_mag == 0) { + add_audio_event_to_queue(EVENT_RELOAD, p->id, (vec3f){.x = p->playerx, .y = p->playery, .z = p->height}); + p->interact_state = INTERACT_RELOADING; + p->sec_since_interact_state_change = 0; + return; + } } bool check_if_bullet_collided_with_section(float* dist_of_closest_intersect, vec2f bstart, vec2f bend, vec2f l1, vec2f l2, vec2f* intersect_point_buf) { diff --git a/src/game.c b/src/game.c index a9a91c1..ec1d3cd 100644 --- a/src/game.c +++ b/src/game.c @@ -52,6 +52,7 @@ void connect_to_server(char* ip, char* port) { } void load_map() { + log_info("STATE: GAMESTATE_LOADING_MAP"); global_state.state = GAMESTATE_LOADING_MAP; outgoing_allocator = create_allocator(MAX_NETWORK_BUFFER_SIZE); @@ -71,12 +72,13 @@ void load_map() { thread t = thread_start(pathfinding_thread, 0); thread_detach(&t); - global_state.state = GAMESTATE_PLAYING; - log_info("Done loading map"); + log_info("STATE: GAMESTATE_LOADING_ASSETS"); + global_state.state = GAMESTATE_LOADING_ASSETS; } void init_game() { - global_state.state = IDLE; + log_info("STATE: GAMESTATE_IDLE"); + global_state.state = GAMESTATE_IDLE; global_state.network_state = DISCONNECTED; load_assets(); -- cgit v1.2.3-70-g09d2