From fe0aab3813aa3bc38c53eaf3b318e0a2c71e00d3 Mon Sep 17 00:00:00 2001 From: div0 Date: Wed, 7 Jan 2009 08:55:49 +0000 Subject: [PATCH] cl_hitsound + some menu changes git-svn-id: svn://svn.icculus.org/nexuiz/trunk@5432 f962a42d-fe04-0410-a3ab-8c8b0445ebaa --- data/defaultNexuiz.cfg | 2 ++ .../menu/nexuiz/dialog_multiplayer_create.c | 2 ++ .../nexuiz/dialog_multiplayer_playersetup.c | 17 +++-------------- data/qcsrc/menu/nexuiz/dialog_settings_audio.c | 10 ++++++++-- data/qcsrc/menu/nexuiz/dialog_settings_misc.c | 13 +++++++++++++ data/qcsrc/server/cl_player.qc | 5 +++-- data/qcsrc/server/defs.qh | 2 ++ data/qcsrc/server/g_world.qc | 4 ++-- data/qcsrc/server/miscfunctions.qc | 1 + 9 files changed, 36 insertions(+), 20 deletions(-) diff --git a/data/defaultNexuiz.cfg b/data/defaultNexuiz.cfg index 200b1e2ae..ea43e8b04 100644 --- a/data/defaultNexuiz.cfg +++ b/data/defaultNexuiz.cfg @@ -605,6 +605,8 @@ cl_sound_r_exp3 "" sv_sound_land "" sv_sound_watersplash "" +seta cl_hitsound 1 + // startmap_dm is used when running with the -listen or -dedicated commandline options alias startmap_dm "set _sv_init 1; map aggressor" diff --git a/data/qcsrc/menu/nexuiz/dialog_multiplayer_create.c b/data/qcsrc/menu/nexuiz/dialog_multiplayer_create.c index 01c467e38..eff641cbd 100644 --- a/data/qcsrc/menu/nexuiz/dialog_multiplayer_create.c +++ b/data/qcsrc/menu/nexuiz/dialog_multiplayer_create.c @@ -145,6 +145,8 @@ void fillNexuizServerCreateTab(entity me) e.addValue(e, "5 choices", "5"); e.addValue(e, "6 choices", "6"); e.addValue(e, "7 choices", "7"); + e.addValue(e, "8 choices", "8"); + e.addValue(e, "9 choices", "9"); e.configureNexuizTextSliderValues(e); me.TR(me); me.TD(me, 1, 3, e = makeNexuizCheckBox(0, "sv_vote_simple_majority", "Simple majority wins vcall")); diff --git a/data/qcsrc/menu/nexuiz/dialog_multiplayer_playersetup.c b/data/qcsrc/menu/nexuiz/dialog_multiplayer_playersetup.c index b2be2194f..f1ad51f15 100644 --- a/data/qcsrc/menu/nexuiz/dialog_multiplayer_playersetup.c +++ b/data/qcsrc/menu/nexuiz/dialog_multiplayer_playersetup.c @@ -72,6 +72,7 @@ void fillNexuizPlayerSettingsTab(entity me) sl = makeNexuizSlider(0.45, 0.75, 0.01, "cl_bobcycle"); me.TD(me, 1, 1, e = makeNexuizSliderCheckBox(0, 1, sl, "View bobbing:")); me.TD(me, 1, 2, sl); + me.TR(me); me.TR(me); me.TD(me, 1, 1, e = makeNexuizTextLabel(0, "Zoom Factor:")); me.TD(me, 1, 2, e = makeNexuizSlider(2, 16, 0.5, "cl_zoomfactor")); @@ -82,7 +83,7 @@ void fillNexuizPlayerSettingsTab(entity me) sl = makeNexuizSlider(1, 8, 0.5, "cl_zoomspeed"); me.TD(me, 1, 1, e = makeNexuizSliderCheckBox(-1, 1, sl, "Zoom speed:")); me.TD(me, 1, 2, sl); - + me.TR(me); me.TR(me); me.TD(me, 1, 1.5, e = makeNexuizButton("Weapon settings...", '0 0 0')); e.onClick = DialogOpenButton_Click; @@ -136,20 +137,8 @@ void fillNexuizPlayerSettingsTab(entity me) e.onClickEntity = main.radarDialog; me.TDempty(me, 0.5); me.TR(me); - me.TR(me); - me.TD(me, 1, 1, e = makeNexuizTextLabel(0, "Network speed:")); - me.TD(me, 1, 2, e = makeNexuizTextSlider("_cl_rate")); - e.addValue(e, "56k", "4000"); - e.addValue(e, "ISDN", "7000"); - e.addValue(e, "Slow ADSL", "15000"); - e.addValue(e, "Fast ADSL", "20000"); - e.addValue(e, "Broadband", "25000"); - e.configureNexuizTextSliderValues(e); - me.TR(me); - me.TD(me, 1, 1, e = makeNexuizTextLabel(0, "Client UDP port:")); - me.TD(me, 1, 0.64, e = makeNexuizInputBox(0, "cl_port")); me.gotoRC(me, me.rows - 1, 0); - me.TD(me, 1, me.columns, makeNexuizCommandButton("Apply immediately", '0 0 0', "color -1 -1;name \"$_cl_name\";sendcvar cl_weaponpriority;sendcvar cl_zoomfactor;sendcvar cl_zoomspeed;sendcvar cl_autoswitch;sendcvar cl_hidewaypoints;sendcvar cl_shownames;rate $_cl_rate", COMMANDBUTTON_APPLY)); + me.TD(me, 1, me.columns, makeNexuizCommandButton("Apply immediately", '0 0 0', "color -1 -1;name \"$_cl_name\";sendcvar cl_weaponpriority;sendcvar cl_zoomfactor;sendcvar cl_zoomspeed;sendcvar cl_autoswitch;sendcvar cl_hidewaypoints;sendcvar cl_shownames", COMMANDBUTTON_APPLY)); } #endif diff --git a/data/qcsrc/menu/nexuiz/dialog_settings_audio.c b/data/qcsrc/menu/nexuiz/dialog_settings_audio.c index bfff13839..db7bb4bf7 100644 --- a/data/qcsrc/menu/nexuiz/dialog_settings_audio.c +++ b/data/qcsrc/menu/nexuiz/dialog_settings_audio.c @@ -123,11 +123,17 @@ void fillNexuizAudioSettingsTab(entity me) me.TR(me); me.TR(me); sl = makeNexuizSlider(0.15, 1, 0.05, "cl_autotaunt"); - me.TD(me, 1, 1, e = makeNexuizSliderCheckBox(0, 1, sl, "Auto taunting:")); + me.TD(me, 1, 1, e = makeNexuizSliderCheckBox(0, 1, sl, "Automatic taunts")); + if(sl.value != e.savedValue) + e.savedValue = 0.65; // default + me.TR(me); + me.TD(me, 1, 3, e = makeNexuizTextLabel(0.1, "Frequency:")); me.TD(me, 1, 2, sl); me.TR(me); + me.TR(me); + me.TD(me, 1, 2.8, e = makeNexuizCheckBox(0, "cl_hitsound", "Hit indicator")); me.gotoRC(me, me.rows - 1, 0); - me.TD(me, 1, me.columns, makeNexuizCommandButton("Apply immediately", '0 0 0', "snd_restart", COMMANDBUTTON_APPLY)); + me.TD(me, 1, me.columns, makeNexuizCommandButton("Apply immediately", '0 0 0', "snd_restart; sendcvar cl_hitsound; sendcvar cl_autotaunt", COMMANDBUTTON_APPLY)); } #endif diff --git a/data/qcsrc/menu/nexuiz/dialog_settings_misc.c b/data/qcsrc/menu/nexuiz/dialog_settings_misc.c index 8c246e518..c1b81e49b 100644 --- a/data/qcsrc/menu/nexuiz/dialog_settings_misc.c +++ b/data/qcsrc/menu/nexuiz/dialog_settings_misc.c @@ -49,5 +49,18 @@ void fillNexuizMiscSettingsTab(entity me) me.TD(me, 1, 2.8/3, e = makeNexuizRadioButton(1, "showspeed", "3", "km/h")); me.TD(me, 1, 2.8/3, e = makeNexuizRadioButton(1, "showspeed", "4", "mph")); me.TD(me, 1, 2.8/3, e = makeNexuizRadioButton(1, "showspeed", "5", "knots")); + me.TR(me); + me.TR(me); + me.TD(me, 1, 1, e = makeNexuizTextLabel(0, "Network speed:")); + me.TD(me, 1, 2, e = makeNexuizTextSlider("_cl_rate")); + e.addValue(e, "56k", "4000"); + e.addValue(e, "ISDN", "7000"); + e.addValue(e, "Slow ADSL", "15000"); + e.addValue(e, "Fast ADSL", "20000"); + e.addValue(e, "Broadband", "25000"); + e.configureNexuizTextSliderValues(e); + me.TR(me); + me.TD(me, 1, 1, e = makeNexuizTextLabel(0, "Client UDP port:")); + me.TD(me, 1, 0.64, e = makeNexuizInputBox(0, "cl_port")); } #endif diff --git a/data/qcsrc/server/cl_player.qc b/data/qcsrc/server/cl_player.qc index 6ab2e92c8..47509506a 100644 --- a/data/qcsrc/server/cl_player.qc +++ b/data/qcsrc/server/cl_player.qc @@ -905,7 +905,7 @@ void GlobalSound(string sample, float chan, float teamsay) sample = strcat(argv(0), ftos(floor(random() * n + 1)), ".wav"); // randomization else sample = strcat(argv(0), ".wav"); // randomization - + if(teamsay == 3) // only to last attacker { if(self.pusher) @@ -953,7 +953,8 @@ void GlobalSound(string sample, float chan, float teamsay) } else if(teamsay == 4) // auto taunt { - float tauntrand = random(); + float tauntrand; + tauntrand = random(); FOR_EACH_REALCLIENT(e) if (tauntrand < e.cvar_cl_autotaunt) { diff --git a/data/qcsrc/server/defs.qh b/data/qcsrc/server/defs.qh index c7654fd05..083e8cd3a 100644 --- a/data/qcsrc/server/defs.qh +++ b/data/qcsrc/server/defs.qh @@ -85,6 +85,8 @@ float maxclients; .vector pos1, pos2; .vector mangle; +.float cvar_cl_hitsound; + .float pain_finished; //Added by Supajoe .float pain_frame; //" .float statdraintime; // record the one-second intervals between draining health and armour when they're over 100 diff --git a/data/qcsrc/server/g_world.qc b/data/qcsrc/server/g_world.qc index 3898b9554..e17a3ab3a 100644 --- a/data/qcsrc/server/g_world.qc +++ b/data/qcsrc/server/g_world.qc @@ -2336,14 +2336,14 @@ void EndFrame() { if(self.enemy.typehitsound) play2(self, "misc/typehit.wav"); - else if(self.enemy.hitsound) + else if(self.enemy.hitsound && self.cvar_cl_hitsound) play2(self, "misc/hit.wav"); } else { if(self.typehitsound) play2(self, "misc/typehit.wav"); - else if(self.hitsound) + else if(self.hitsound && self.cvar_cl_hitsound) play2(self, "misc/hit.wav"); } } diff --git a/data/qcsrc/server/miscfunctions.qc b/data/qcsrc/server/miscfunctions.qc index 8b5da514f..b32b8021f 100644 --- a/data/qcsrc/server/miscfunctions.qc +++ b/data/qcsrc/server/miscfunctions.qc @@ -550,6 +550,7 @@ void GetCvars(float f) GetCvars_handleString_Fixup(s, f, cvar_cl_weaponpriorities[8], "cl_weaponpriority8", W_FixWeaponOrder_AllowIncomplete); GetCvars_handleString_Fixup(s, f, cvar_cl_weaponpriorities[9], "cl_weaponpriority9", W_FixWeaponOrder_AllowIncomplete); GetCvars_handleFloat(s, f, cvar_cl_autotaunt, "cl_autotaunt"); + GetCvars_handleFloat(s, f, cvar_cl_hitsound, "cl_hitsound"); // fixup of switchweapon (needed for LMS or when spectating is disabled, as PutClientInServer comes too early) if(f > 0) -- 2.39.2