From 9f35dfa5db968b8b3e4781fd653df8d5295fffa9 Mon Sep 17 00:00:00 2001 From: Jakob Fries Date: Sat, 4 Aug 2007 16:49:57 +0000 Subject: [PATCH] added switch and noammo sounds. ingame chat works more intuitively (sp?) --- datasrc/teewars.ds | 8 ++++++++ src/game/client/game_client.cpp | 17 ++++++++++------- src/game/server/game_server.cpp | 12 +++++++++--- 3 files changed, 27 insertions(+), 10 deletions(-) diff --git a/datasrc/teewars.ds b/datasrc/teewars.ds index 432089017..4d6cf2230 100644 --- a/datasrc/teewars.ds +++ b/datasrc/teewars.ds @@ -152,6 +152,14 @@ sounds { "data/audio/sfx_spawn_wpn-02.wav" "data/audio/sfx_spawn_wpn-03.wav" } + + weapon_noammo { + "data/audio/wp_noammo-01.wav" + "data/audio/wp_noammo-02.wav" + "data/audio/wp_noammo-03.wav" + "data/audio/wp_noammo-04.wav" + "data/audio/wp_noammo-05.wav" + } } diff --git a/src/game/client/game_client.cpp b/src/game/client/game_client.cpp index 344aaf553..57618202d 100644 --- a/src/game/client/game_client.cpp +++ b/src/game/client/game_client.cpp @@ -1202,7 +1202,10 @@ void modc_render() if (inp_key_down(input::esc)) { - menu_active = !menu_active; + if (chat_active) + chat_active = false; + else + menu_active = !menu_active; } if (!menu_active) @@ -1556,12 +1559,6 @@ void modc_render() y += 44; } } - - if (menu_active) - { - ingamemenu_render(); - return; - } // render chat { @@ -1592,6 +1589,12 @@ void modc_render() } } + if (menu_active) + { + ingamemenu_render(); + return; + } + // render goals if(gameobj) { diff --git a/src/game/server/game_server.cpp b/src/game/server/game_server.cpp index 176047948..ecbc76630 100644 --- a/src/game/server/game_server.cpp +++ b/src/game/server/game_server.cpp @@ -877,7 +877,13 @@ int player::handle_weapons() // switch weapon if wanted if(input.activeweapon >= 0 && input.activeweapon < NUM_WEAPONS && weapons[input.activeweapon].got && data->weapons[active_weapon].duration <= 0) + { + if (active_weapon != input.activeweapon) + create_sound(pos, SOUND_WEAPON_SWITCH); + active_weapon = input.activeweapon; + + } if(!previnput.fire && input.fire) { @@ -917,6 +923,7 @@ int player::handle_weapons() case WEAPON_SHOTGUN: { int shotspread = min(2, weapons[active_weapon].ammo); + weapons[active_weapon].ammo -= shotspread - 1; // one will be taken later for(int i = -shotspread; i <= shotspread; i++) { float a = get_angle(direction); @@ -942,14 +949,13 @@ int player::handle_weapons() break; } - weapons[active_weapon].ammo -= max(1, weapons[active_weapon].ammocost); + weapons[active_weapon].ammo--; attack_tick = server_tick(); reload_timer = data->weapons[active_weapon].firedelay * server_tickspeed() / 1000; } else { - // click!!! click - // TODO: make sound here + create_sound(pos, SOUND_WEAPON_NOAMMO); } } }