r5483 - in trunk/data: . qcsrc/menu/nexuiz qcsrc/server qcsrc/server/tturrets/units

DONOTREPLY at icculus.org DONOTREPLY at icculus.org
Sat Jan 10 13:10:33 EST 2009


Author: div0
Date: 2009-01-10 13:10:33 -0500 (Sat, 10 Jan 2009)
New Revision: 5483

Modified:
   trunk/data/defaultNexuiz.cfg
   trunk/data/qcsrc/menu/nexuiz/dialog_multiplayer_create.c
   trunk/data/qcsrc/menu/nexuiz/dialog_settings_audio.c
   trunk/data/qcsrc/menu/nexuiz/dialog_settings_effects.c
   trunk/data/qcsrc/server/cl_client.qc
   trunk/data/qcsrc/server/cl_physics.qc
   trunk/data/qcsrc/server/cl_player.qc
   trunk/data/qcsrc/server/defs.qh
   trunk/data/qcsrc/server/pathlib.qc
   trunk/data/qcsrc/server/sv_main.qc
   trunk/data/qcsrc/server/tturrets/units/unit_ewheel.qc
Log:
make voice sounds a bit louder again


Modified: trunk/data/defaultNexuiz.cfg
===================================================================
--- trunk/data/defaultNexuiz.cfg	2009-01-10 15:34:07 UTC (rev 5482)
+++ trunk/data/defaultNexuiz.cfg	2009-01-10 18:10:33 UTC (rev 5483)
@@ -124,7 +124,7 @@
 
 // taunts and voices
 seta cl_autotaunt 0.65
-seta cl_voice_directional 1 // 0 = all voices are non-directional, 1 = all voices are directional
+seta cl_voice_directional 1 // 0 = all voices are non-directional, 1 = all voices are directional, 2 = only taunts are directional
 seta cl_voice_directional_taunt_attenuation 0.5
 
 // server settings

Modified: trunk/data/qcsrc/menu/nexuiz/dialog_multiplayer_create.c
===================================================================
--- trunk/data/qcsrc/menu/nexuiz/dialog_multiplayer_create.c	2009-01-10 15:34:07 UTC (rev 5482)
+++ trunk/data/qcsrc/menu/nexuiz/dialog_multiplayer_create.c	2009-01-10 18:10:33 UTC (rev 5483)
@@ -108,6 +108,7 @@
 	me.TR(me);
 		me.TDempty(me, 0.2);
 		me.TD(me, 1, 0.8, e = makeNexuizTextLabel(0, "Bot skill:"));
+			setDependent(e, "bot_number", 0, -1);
 		me.TD(me, 1, 2, e = makeNexuizTextSlider("skill"));
 			e.addValue(e, "Botlike", "0");
 			e.addValue(e, "Beginner", "1");

Modified: trunk/data/qcsrc/menu/nexuiz/dialog_settings_audio.c
===================================================================
--- trunk/data/qcsrc/menu/nexuiz/dialog_settings_audio.c	2009-01-10 15:34:07 UTC (rev 5482)
+++ trunk/data/qcsrc/menu/nexuiz/dialog_settings_audio.c	2009-01-10 18:10:33 UTC (rev 5483)
@@ -127,10 +127,14 @@
 		setDependent(e, "snd_channels", 1.5, 0.5);
 	me.TR(me);
 	me.TR(me);
-		me.TD(me, 1, 3, e = makeNexuizCheckBox(0, "cl_voice_directional", "Play voice messages directionally"));
+		me.TD(me, 1, 1, e = makeNexuizTextLabel(0, "Directional voices:"));
+		me.TD(me, 1, 2/3, e = makeNexuizRadioButton(1, "cl_voice_directional", "0", "None"));
+		me.TD(me, 1, 2/3, e = makeNexuizRadioButton(1, "cl_voice_directional", "2", "Taunts"));
+		me.TD(me, 1, 2/3, e = makeNexuizRadioButton(1, "cl_voice_directional", "1", "All"));
 	me.TR(me);
 		me.TDempty(me, 0.2);
 		me.TD(me, 1, 0.8, e = makeNexuizTextLabel(0, "Taunt range:"));
+		setDependent(e, "cl_voice_directional", 0.5, -0.5);
 		me.TD(me, 1, 1.8, e = makeNexuizTextSlider("cl_voice_directional_taunt_attenuation"));
 			e.addValue(e, "Very short", "3");
 			e.addValue(e, "Short", "2");
@@ -138,6 +142,7 @@
 			e.addValue(e, "Long", "0.25");
 			e.addValue(e, "Full", "0.015625");
 			e.configureNexuizTextSliderValues(e);
+		setDependent(e, "cl_voice_directional", 0.5, -0.5);
 	me.TR(me);
 		sl = makeNexuizSlider(0.15, 1, 0.05, "cl_autotaunt");
 			sl.valueDisplayMultiplier = 100;

Modified: trunk/data/qcsrc/menu/nexuiz/dialog_settings_effects.c
===================================================================
--- trunk/data/qcsrc/menu/nexuiz/dialog_settings_effects.c	2009-01-10 15:34:07 UTC (rev 5482)
+++ trunk/data/qcsrc/menu/nexuiz/dialog_settings_effects.c	2009-01-10 18:10:33 UTC (rev 5483)
@@ -76,11 +76,13 @@
 	me.TR(me);
 		me.TDempty(me, 0.2);
 		me.TD(me, 1, 0.8, e = makeNexuizTextLabel(0, "Distance:"));
+			setDependent(e, "cl_decals", 1, 1);
 		me.TD(me, 1, 2, e = makeNexuizSlider(200, 500, 20, "r_drawdecals_drawdistance"));
 			setDependent(e, "cl_decals", 1, 1);
 	me.TR(me);
 		me.TDempty(me, 0.2);
 	    me.TD(me, 1, 0.8, e = makeNexuizTextLabel(0, "Time:"));
+	        setDependent(e, "cl_decals", 1, 1);
 	    me.TD(me, 1, 2, e = makeNexuizSlider(1, 20, 1, "cl_decals_time"));
 	        setDependent(e, "cl_decals", 1, 1);
 
@@ -158,10 +160,9 @@
 		me.TD(me, 1, 2, e = makeNexuizSlider(0, 0.5, 0.05, "v_kicktime"));
 
 	me.TR(me);
-
-	me.TR(me);
 		if(cvar("developer"))
 			me.TD(me, 1, 3, e = makeNexuizCheckBox(0, "r_showsurfaces", "Show surfaces"));
+				e.yesValue = 3;
 
 	me.gotoRC(me, me.rows - 1, 0);
 		me.TD(me, 1, me.columns, makeNexuizCommandButton("Apply immediately", '0 0 0', "sendcvar cl_nogibs; r_restart", COMMANDBUTTON_APPLY));

Modified: trunk/data/qcsrc/server/cl_client.qc
===================================================================
--- trunk/data/qcsrc/server/cl_client.qc	2009-01-10 15:34:07 UTC (rev 5482)
+++ trunk/data/qcsrc/server/cl_client.qc	2009-01-10 18:10:33 UTC (rev 5483)
@@ -2299,7 +2299,7 @@
 		oldself = self; self = self.teamkill_soundsource;
 		oldpusher = self.pusher; self.pusher = oldself;
 
-		PlayerSound(playersound_teamshoot, CHAN_VOICE, 3);
+		PlayerSound(playersound_teamshoot, CHAN_VOICE, VOICETYPE_LASTATTACKER_ONLY);
 
 		self.pusher = oldpusher;
 		self = oldself;
@@ -2309,7 +2309,7 @@
 	if(time > self.taunt_soundtime)
 	{
 		self.taunt_soundtime = 0;
-		PlayerSound(playersound_taunt, CHAN_VOICE, 4);
+		PlayerSound(playersound_taunt, CHAN_VOICE, VOICETYPE_AUTOTAUNT);
 	}
 
 	target_voicescript_next(self);

Modified: trunk/data/qcsrc/server/cl_physics.qc
===================================================================
--- trunk/data/qcsrc/server/cl_physics.qc	2009-01-10 15:34:07 UTC (rev 5482)
+++ trunk/data/qcsrc/server/cl_physics.qc	2009-01-10 18:10:33 UTC (rev 5483)
@@ -85,7 +85,7 @@
 		player_setanim(self.anim_jump, FALSE, TRUE, TRUE);
 
 	if(g_jump_grunt)
-		PlayerSound(playersound_jump, CHAN_PLAYER, 0);
+		PlayerSound(playersound_jump, CHAN_PLAYER, VOICETYPE_PLAYERSOUND);
 }
 
 void CheckWaterJump()
@@ -497,9 +497,9 @@
 			if not(trace_dphitq3surfaceflags & Q3SURFACEFLAG_NOSTEPS)
 			{
 				if(trace_dphitq3surfaceflags & Q3SURFACEFLAG_METALSTEPS)
-					GlobalSound(globalsound_metalfall, CHAN_PLAYER, 0);
+					GlobalSound(globalsound_metalfall, CHAN_PLAYER, VOICETYPE_PLAYERSOUND);
 				else
-					GlobalSound(globalsound_fall, CHAN_PLAYER, 0);
+					GlobalSound(globalsound_fall, CHAN_PLAYER, VOICETYPE_PLAYERSOUND);
 			}
 		}
 	}

Modified: trunk/data/qcsrc/server/cl_player.qc
===================================================================
--- trunk/data/qcsrc/server/cl_player.qc	2009-01-10 15:34:07 UTC (rev 5482)
+++ trunk/data/qcsrc/server/cl_player.qc	2009-01-10 18:10:33 UTC (rev 5483)
@@ -431,13 +431,13 @@
 					// exclude pain sounds for laserjumps as long as you aren't REALLY low on health and would die of the next two
 					{
 						if(self.health > 75) // TODO make a "gentle" version?
-							PlayerSound(playersound_pain100, CHAN_PAIN, 0);
+							PlayerSound(playersound_pain100, CHAN_PAIN, VOICETYPE_PLAYERSOUND);
 						else if(self.health > 50)
-							PlayerSound(playersound_pain75, CHAN_PAIN, 0);
+							PlayerSound(playersound_pain75, CHAN_PAIN, VOICETYPE_PLAYERSOUND);
 						else if(self.health > 25)
-							PlayerSound(playersound_pain50, CHAN_PAIN, 0);
+							PlayerSound(playersound_pain50, CHAN_PAIN, VOICETYPE_PLAYERSOUND);
 						else if(self.health > 1)
-							PlayerSound(playersound_pain25, CHAN_PAIN, 0);
+							PlayerSound(playersound_pain25, CHAN_PAIN, VOICETYPE_PLAYERSOUND);
 					}
 				}
 
@@ -482,9 +482,9 @@
 		if(sv_gentle < 1) // TODO make a "gentle" version?
 		{
 			if(deathtype == DEATH_DROWN)
-				PlayerSound(playersound_drown, CHAN_PAIN, 0);
+				PlayerSound(playersound_drown, CHAN_PAIN, VOICETYPE_PLAYERSOUND);
 			else
-				PlayerSound(playersound_death, CHAN_PAIN, 0);
+				PlayerSound(playersound_death, CHAN_PAIN, VOICETYPE_PLAYERSOUND);
 		}
 
 		// get rid of kill indicator
@@ -896,13 +896,13 @@
 	strunzone(msgstr);
 }
 
-float GetVoiceMessageTeamsayType(string type)
+float GetVoiceMessageVoiceType(string type)
 {
 	if(type == "taunt")
-		return 5;
+		return VOICETYPE_TAUNT;
 	if(type == "teamshoot")
-		return 2;
-	return 1;
+		return VOICETYPE_LASTATTACKER;
+	return VOICETYPE_TEAMRADIO;
 }
 
 string allvoicesamples;
@@ -1025,9 +1025,10 @@
 	LoadPlayerSounds(strcat(self.model, ".sounds"), 0);
 }
 
-void GlobalSound(string sample, float chan, float teamsay)
+void GlobalSound(string sample, float chan, float voicetype)
 {
 	float n;
+	float tauntrand;
 
 	if(sample == "")
 		return;
@@ -1039,90 +1040,82 @@
 	else
 		sample = strcat(argv(0), ".wav"); // randomization
 	
-	if(teamsay == 3) // only to last attacker
+	switch(voicetype)
 	{
-		if(self.pusher)
-			if(self.pusher.team == self.team)
-			{
-				msg_entity = self.pusher;
-				if(clienttype(msg_entity) == CLIENTTYPE_REAL)
+		case VOICETYPE_LASTATTACKER_ONLY:
+			if(self.pusher)
+				if(self.pusher.team == self.team)
 				{
-					if(msg_entity.cvar_cl_voice_directional)
-						soundto(MSG_ONE, self, chan, sample, VOL_BASE, ATTN_MIN);
-					else
+					msg_entity = self.pusher;
+					if(clienttype(msg_entity) == CLIENTTYPE_REAL)
+					{
+						if(msg_entity.cvar_cl_voice_directional == 1)
+							soundto(MSG_ONE, self, chan, sample, VOL_BASEVOICE, ATTN_MIN);
+						else
+							soundto(MSG_ONE, self, chan, sample, VOL_BASEVOICE, ATTN_NONE);
+					}
+				}
+			break;
+		case VOICETYPE_LASTATTACKER:
+			if(self.pusher)
+				if(self.pusher.team == self.team)
+				{
+					msg_entity = self.pusher;
+					if(clienttype(msg_entity) == CLIENTTYPE_REAL)
+					{
+						if(msg_entity.cvar_cl_voice_directional == 1)
+							soundto(MSG_ONE, self, chan, sample, VOL_BASEVOICE, ATTN_MIN);
+						else
+							soundto(MSG_ONE, self, chan, sample, VOL_BASEVOICE, ATTN_NONE);
+					}
+					msg_entity = self;
+					if(clienttype(msg_entity) == CLIENTTYPE_REAL)
 						soundto(MSG_ONE, self, chan, sample, VOL_BASE, ATTN_NONE);
 				}
-			}
-	}
-	else if(teamsay == 2) // only to last attacker and self
-	{
-		if(self.pusher)
-			if(self.pusher.team == self.team)
-			{
-				msg_entity = self.pusher;
-				if(clienttype(msg_entity) == CLIENTTYPE_REAL)
+			break;
+		case VOICETYPE_TEAMRADIO:
+			FOR_EACH_REALCLIENT(msg_entity)
+				if(!teams_matter || msg_entity.team == self.team)
 				{
-					if(msg_entity.cvar_cl_voice_directional)
-						soundto(MSG_ONE, self, chan, sample, VOL_BASE, ATTN_MIN);
+					if(msg_entity.cvar_cl_voice_directional == 1)
+						soundto(MSG_ONE, self, chan, sample, VOL_BASEVOICE, ATTN_MIN);
 					else
-						soundto(MSG_ONE, self, chan, sample, VOL_BASE, ATTN_NONE);
+						soundto(MSG_ONE, self, chan, sample, VOL_BASEVOICE, ATTN_NONE);
 				}
-				msg_entity = self;
-				if(clienttype(msg_entity) == CLIENTTYPE_REAL)
-					soundto(MSG_ONE, self, chan, sample, VOL_BASE, ATTN_NONE);
-			}
-	}
-	else if(teamsay == 0) // to everyone
-	{
-		// note: player sound
-		// broadcast the sound, but it's directional
-		sound(self, chan, sample, VOL_BASE, ATTN_NORM);
-	}
-	else if(teamsay == 1) // to the same team
-	{
-		entity e;
-		FOR_EACH_REALCLIENT(e)
-			if(!teams_matter || e.team == self.team)
+			break;
+		case VOICETYPE_AUTOTAUNT:
+			tauntrand = random();
+			FOR_EACH_REALCLIENT(msg_entity)
+				if (tauntrand < msg_entity.cvar_cl_autotaunt)
+				{
+					if (msg_entity.cvar_cl_voice_directional >= 1)
+						soundto(MSG_ONE, self, chan, sample, VOL_BASEVOICE, bound(ATTN_MIN, msg_entity.cvar_cl_voice_directional_taunt_attenuation, ATTN_MAX));
+					else
+						soundto(MSG_ONE, self, chan, sample, VOL_BASEVOICE, ATTN_NONE);
+				}
+			break;
+		case VOICETYPE_TAUNT:
+			FOR_EACH_REALCLIENT(msg_entity)
 			{
-				msg_entity = e;
-				if(msg_entity.cvar_cl_voice_directional)
-					soundto(MSG_ONE, self, chan, sample, VOL_BASE, ATTN_MIN);
+				if (msg_entity.cvar_cl_voice_directional >= 1)
+					soundto(MSG_ONE, self, chan, sample, VOL_BASEVOICE, bound(ATTN_MIN, msg_entity.cvar_cl_voice_directional_taunt_attenuation, ATTN_MAX));
 				else
-					soundto(MSG_ONE, self, chan, sample, VOL_BASE, ATTN_NONE);
+					soundto(MSG_ONE, self, chan, sample, VOL_BASEVOICE, ATTN_NONE);
 			}
+		case VOICETYPE_PLAYERSOUND:
+			sound(self, chan, sample, VOL_BASE, ATTN_NORM);
+			break;
+		default:
+			backtrace("Invalid voice type!");
+			break;
 	}
-	else if(teamsay == 4) // auto taunt
-	{
-		float tauntrand;
-		tauntrand = random();
-		FOR_EACH_REALCLIENT(e)
-		if (tauntrand < e.cvar_cl_autotaunt)
-		{
-			msg_entity = e;
-			if (e.cvar_cl_voice_directional)
-				soundto(MSG_ONE, self, chan, sample, VOL_BASE, bound(ATTN_MIN, msg_entity.cvar_cl_voice_directional_taunt_attenuation, ATTN_MAX));
-			else
-				soundto(MSG_ONE, self, chan, sample, VOL_BASE, ATTN_NONE);
-		}
-	}
-	else if(teamsay == 5) // manual taunt
-	{
-		FOR_EACH_REALCLIENT(e)
-		{
-			msg_entity = e;
-			if (e.cvar_cl_voice_directional)
-				soundto(MSG_ONE, self, chan, sample, VOL_BASE, bound(ATTN_MIN, msg_entity.cvar_cl_voice_directional_taunt_attenuation, ATTN_MAX));
-			else
-				soundto(MSG_ONE, self, chan, sample, VOL_BASE, ATTN_NONE);
-		}
-	}
 }
 
-void PlayerSound(.string samplefield, float chan, float teamsay)
+void PlayerSound(.string samplefield, float chan, float voicetype)
 {
 	string sample;
 	sample = self.samplefield;
-	GlobalSound(sample, chan, teamsay);
+	GlobalSound(sample, chan, voicetype);
 }
 
 .float floodcontrol_voice;
@@ -1130,7 +1123,7 @@
 void VoiceMessage(string type, string msg)
 {
 	var .string sample;
-	var float teamsay, ownteam;
+	var float voicetype, ownteam;
 	sample = GetVoiceMessageSampleField(type);
 
 	if(GetPlayerSoundSampleField_notFound)
@@ -1139,8 +1132,8 @@
 		return;
 	}
 
-	teamsay = GetVoiceMessageTeamsayType(type);
-	ownteam = (teamsay == 1);
+	voicetype = GetVoiceMessageVoiceType(type);
+	ownteam = (voicetype == VOICETYPE_TEAMRADIO);
 
 	float flood;
 	float flood_spv;
@@ -1167,5 +1160,5 @@
 		Say(self, ownteam, msg, 0);
 
 	if (!flood)
-		PlayerSound(sample, CHAN_VOICE, teamsay);
+		PlayerSound(sample, CHAN_VOICE, voicetype);
 }

Modified: trunk/data/qcsrc/server/defs.qh
===================================================================
--- trunk/data/qcsrc/server/defs.qh	2009-01-10 15:34:07 UTC (rev 5482)
+++ trunk/data/qcsrc/server/defs.qh	2009-01-10 18:10:33 UTC (rev 5483)
@@ -13,6 +13,7 @@
 #define BUTTON_USE    buttonuse
 
 #define VOL_BASE 0.7
+#define VOL_BASEVOICE 1.0
 
 // Globals
 
@@ -467,12 +468,20 @@
 string globalsound_metalfall;
 string globalsound_step;
 string globalsound_metalstep;
+
+#define VOICETYPE_PLAYERSOUND 10
+#define VOICETYPE_TEAMRADIO 11
+#define VOICETYPE_LASTATTACKER 12
+#define VOICETYPE_LASTATTACKER_ONLY 13
+#define VOICETYPE_AUTOTAUNT 14
+#define VOICETYPE_TAUNT 15
+
 void PrecachePlayerSounds(string f);
 void PrecacheGlobalSound(string samplestring);
 void UpdatePlayerSounds();
 void ClearPlayerSounds();
-void PlayerSound(.string samplefield, float channel, float teamsay); // 0 is normal, 1 is team, 2 is last attacker
-void GlobalSound(string samplestring, float channel, float teamsay); // 0 is normal, 1 is team, 2 is last attacker
+void PlayerSound(.string samplefield, float channel, float voicetype);
+void GlobalSound(string samplestring, float channel, float voicetype);
 void VoiceMessage(string type, string message);
 
 // autotaunt system

Modified: trunk/data/qcsrc/server/pathlib.qc
===================================================================
--- trunk/data/qcsrc/server/pathlib.qc	2009-01-10 15:34:07 UTC (rev 5482)
+++ trunk/data/qcsrc/server/pathlib.qc	2009-01-10 18:10:33 UTC (rev 5483)
@@ -265,7 +265,6 @@
         case PT_ASTAR:
             dprint("Pathlib error: A* pathing not implemented!\n");
             return 0;
-            break;
         default:
             subpath_point = pathlib_subpath_quickstar(start,end,start.owner.path_subpathing_size);
             dprint("Pathlib warning: unknown pathing method, using quickstar!\n");

Modified: trunk/data/qcsrc/server/sv_main.qc
===================================================================
--- trunk/data/qcsrc/server/sv_main.qc	2009-01-10 15:34:07 UTC (rev 5482)
+++ trunk/data/qcsrc/server/sv_main.qc	2009-01-10 18:10:33 UTC (rev 5483)
@@ -19,7 +19,7 @@
 				if (self.waterlevel != 3)
 				{
 					if(self.air_finished < time + 9)
-						PlayerSound(playersound_gasp, CHAN_PLAYER, 0);
+						PlayerSound(playersound_gasp, CHAN_PLAYER, VOICETYPE_PLAYERSOUND);
 					self.air_finished = time + 12;
 					self.dmg = 2;
 				}
@@ -107,9 +107,9 @@
 					if not(trace_dphitq3surfaceflags & Q3SURFACEFLAG_NOSTEPS)
 					{
 						if(trace_dphitq3surfaceflags & Q3SURFACEFLAG_METALSTEPS)
-							GlobalSound(globalsound_metalstep, CHAN_PLAYER, 0);
+							GlobalSound(globalsound_metalstep, CHAN_PLAYER, VOICETYPE_PLAYERSOUND);
 						else
-							GlobalSound(globalsound_step, CHAN_PLAYER, 0);
+							GlobalSound(globalsound_step, CHAN_PLAYER, VOICETYPE_PLAYERSOUND);
 					}
 				}
 			}

Modified: trunk/data/qcsrc/server/tturrets/units/unit_ewheel.qc
===================================================================
--- trunk/data/qcsrc/server/tturrets/units/unit_ewheel.qc	2009-01-10 15:34:07 UTC (rev 5482)
+++ trunk/data/qcsrc/server/tturrets/units/unit_ewheel.qc	2009-01-10 18:10:33 UTC (rev 5483)
@@ -26,7 +26,7 @@
     vector v;
     float f,i;
 
-    for (i=0;i<1;i++)
+    for (i=0;i<1;++i)
     {
         f = gettagindex(self.tur_head,"tag_fire");
         v = gettaginfo(self.tur_head,f);




More information about the nexuiz-commits mailing list