r4035 - in trunk/data/qcsrc: menu/nexuiz server

DONOTREPLY at icculus.org DONOTREPLY at icculus.org
Wed Aug 6 02:33:36 EDT 2008


Author: div0
Date: 2008-08-06 02:33:35 -0400 (Wed, 06 Aug 2008)
New Revision: 4035

Modified:
   trunk/data/qcsrc/menu/nexuiz/dialog_settings_misc.c
   trunk/data/qcsrc/server/arena.qc
   trunk/data/qcsrc/server/cl_client.qc
   trunk/data/qcsrc/server/cl_player.qc
   trunk/data/qcsrc/server/constants.qh
   trunk/data/qcsrc/server/ctf.qc
   trunk/data/qcsrc/server/domination.qc
   trunk/data/qcsrc/server/g_casings.qc
   trunk/data/qcsrc/server/g_hook.qc
   trunk/data/qcsrc/server/g_triggers.qc
   trunk/data/qcsrc/server/g_violence.qc
   trunk/data/qcsrc/server/keyhunt.qc
   trunk/data/qcsrc/server/mode_onslaught.qc
   trunk/data/qcsrc/server/t_items.qc
   trunk/data/qcsrc/server/t_jumppads.qc
   trunk/data/qcsrc/server/t_plats.qc
   trunk/data/qcsrc/server/t_teleporters.qc
   trunk/data/qcsrc/server/w_electro.qc
   trunk/data/qcsrc/server/w_grenadelauncher.qc
   trunk/data/qcsrc/server/w_hagar.qc
   trunk/data/qcsrc/server/w_laser.qc
   trunk/data/qcsrc/server/w_nex.qc
   trunk/data/qcsrc/server/w_rocketlauncher.qc
Log:
gave some entity channels more descriptive names; add an entity channel mixer to the menu


Modified: trunk/data/qcsrc/menu/nexuiz/dialog_settings_misc.c
===================================================================
--- trunk/data/qcsrc/menu/nexuiz/dialog_settings_misc.c	2008-08-06 06:01:47 UTC (rev 4034)
+++ trunk/data/qcsrc/menu/nexuiz/dialog_settings_misc.c	2008-08-06 06:33:35 UTC (rev 4035)
@@ -33,15 +33,75 @@
 		me.TD(me, 1, 1, e = makeNexuizSliderCheckBox(-1000000, 1, s, "Music:"));
 		me.TD(me, 1, 2, s);
 	me.TR(me);
+	me.TR(me);
 		s = makeNexuizDecibelsSlider(-20, 0, 0.5, "volume");
-		me.TD(me, 1, 1, e = makeNexuizSliderCheckBox(-1000000, 1, s, "Game:"));
+		me.TD(me, 1, 1, e = makeNexuizSliderCheckBox(-1000000, 1, s, "Game (Master):"));
 		me.TD(me, 1, 2, s);
 	me.TR(me);
+		me.TDempty(me, 0.2);
 		s = makeNexuizDecibelsSlider(-20, 0, 0.5, "snd_staticvolume");
-		me.TD(me, 1, 1, e = makeNexuizSliderCheckBox(-1000000, 1, s, "Ambient:"));
+		me.TD(me, 1, 0.8, e = makeNexuizSliderCheckBox(-1000000, 1, s, "Ambient:"));
 		me.TD(me, 1, 2, s);
+		setDependentStringNotEqual(e, "volume", "0");
+		setDependentStringNotEqual(s, "volume", "0");
 	me.TR(me);
+		me.TDempty(me, 0.2);
+		s = makeNexuizDecibelsSlider(-20, 0, 0.5, "snd_entchannel0volume");
+		me.TD(me, 1, 0.8, e = makeNexuizSliderCheckBox(-1000000, 1, s, "Announcer/Chat:"));
+		me.TD(me, 1, 2, s);
+		setDependentStringNotEqual(e, "volume", "0");
+		setDependentStringNotEqual(s, "volume", "0");
 	me.TR(me);
+		me.TDempty(me, 0.2);
+		s = makeNexuizDecibelsSlider(-20, 0, 0.5, "snd_entchannel1volume");
+		me.TD(me, 1, 0.8, e = makeNexuizSliderCheckBox(-1000000, 1, s, "Weapon fire:"));
+		me.TD(me, 1, 2, s);
+		setDependentStringNotEqual(e, "volume", "0");
+		setDependentStringNotEqual(s, "volume", "0");
+	me.TR(me);
+		me.TDempty(me, 0.2);
+		s = makeNexuizDecibelsSlider(-20, 0, 0.5, "snd_entchannel2volume");
+		me.TD(me, 1, 0.8, e = makeNexuizSliderCheckBox(-1000000, 1, s, "Voice/Radio:"));
+		me.TD(me, 1, 2, s);
+		setDependentStringNotEqual(e, "volume", "0");
+		setDependentStringNotEqual(s, "volume", "0");
+	me.TR(me);
+		me.TDempty(me, 0.2);
+		s = makeNexuizDecibelsSlider(-20, 0, 0.5, "snd_entchannel3volume");
+		me.TD(me, 1, 0.8, e = makeNexuizSliderCheckBox(-1000000, 1, s, "Triggers:"));
+		me.TD(me, 1, 2, s);
+		setDependentStringNotEqual(e, "volume", "0");
+		setDependentStringNotEqual(s, "volume", "0");
+	me.TR(me);
+		me.TDempty(me, 0.2);
+		s = makeNexuizDecibelsSlider(-20, 0, 0.5, "snd_entchannel4volume");
+		me.TD(me, 1, 0.8, e = makeNexuizSliderCheckBox(-1000000, 1, s, "Projectiles:"));
+		me.TD(me, 1, 2, s);
+		setDependentStringNotEqual(e, "volume", "0");
+		setDependentStringNotEqual(s, "volume", "0");
+	me.TR(me);
+		me.TDempty(me, 0.2);
+		s = makeNexuizDecibelsSlider(-20, 0, 0.5, "snd_entchannel5volume");
+		me.TD(me, 1, 0.8, e = makeNexuizSliderCheckBox(-1000000, 1, s, "Powerups:"));
+		me.TD(me, 1, 2, s);
+		setDependentStringNotEqual(e, "volume", "0");
+		setDependentStringNotEqual(s, "volume", "0");
+	me.TR(me);
+		me.TDempty(me, 0.2);
+		s = makeNexuizDecibelsSlider(-20, 0, 0.5, "snd_entchannel6volume");
+		me.TD(me, 1, 0.8, e = makeNexuizSliderCheckBox(-1000000, 1, s, "Pain:"));
+		me.TD(me, 1, 2, s);
+		setDependentStringNotEqual(e, "volume", "0");
+		setDependentStringNotEqual(s, "volume", "0");
+	me.TR(me);
+		me.TDempty(me, 0.2);
+		s = makeNexuizDecibelsSlider(-20, 0, 0.5, "snd_entchannel7volume");
+		me.TD(me, 1, 0.8, e = makeNexuizSliderCheckBox(-1000000, 1, s, "Player body:"));
+		me.TD(me, 1, 2, s);
+		setDependentStringNotEqual(e, "volume", "0");
+		setDependentStringNotEqual(s, "volume", "0");
+
+	me.gotoRC(me, 0, 3.5); me.setFirstColumn(me, me.currentColumn);
 		me.TD(me, 1, 1, e = makeNexuizTextLabel(0, "Frequency:"));
 		me.TD(me, 1, 2, e = makeNexuizTextSlider("snd_speed"));
 			e.addValue(e, "8 kHz", "8000");
@@ -59,8 +119,8 @@
 	me.TR(me);
 		me.TDempty(me, 0.2);
 		me.TD(me, 1, 2.8, e = makeNexuizCheckBox(0, "snd_swapstereo", "Swap Stereo"));
-
-	me.gotoRC(me, 0, 3.5); me.setFirstColumn(me, me.currentColumn);
+	me.TR(me);
+	me.TR(me);
 		me.TD(me, 1, 3, e = makeNexuizCheckBox(0, "cl_autodemo", "Demo recording"));
 	me.TR(me);
 	me.TR(me);

Modified: trunk/data/qcsrc/server/arena.qc
===================================================================
--- trunk/data/qcsrc/server/arena.qc	2008-08-06 06:01:47 UTC (rev 4034)
+++ trunk/data/qcsrc/server/arena.qc	2008-08-06 06:33:35 UTC (rev 4035)
@@ -79,7 +79,7 @@
 		}
 		else if(self.flags & FL_PROJECTILE)		// remove any projectiles left
 		{
-			sound(self, CHAN_BODY, "misc/null.wav", VOL_BASE, ATTN_NORM);
+			sound(self, CHAN_PROJECTILE, "misc/null.wav", VOL_BASE, ATTN_NORM);
 			remove(self);
 		}
 		else if(self.isdecor)

Modified: trunk/data/qcsrc/server/cl_client.qc
===================================================================
--- trunk/data/qcsrc/server/cl_client.qc	2008-08-06 06:01:47 UTC (rev 4034)
+++ trunk/data/qcsrc/server/cl_client.qc	2008-08-06 06:33:35 UTC (rev 4035)
@@ -701,7 +701,7 @@
 	 	//stuffcmd(self, "set viewsize $tmpviewsize \n");
 
 		if (cvar("g_spawnsound"))
-			sound (self, CHAN_ITEM, "misc/spawn.wav", VOL_BASE, ATTN_NORM);
+			sound (self, CHAN_TRIGGER, "misc/spawn.wav", VOL_BASE, ATTN_NORM);
 
 		if(g_assault) {
 			if(self.team == assault_attacker_team)

Modified: trunk/data/qcsrc/server/cl_player.qc
===================================================================
--- trunk/data/qcsrc/server/cl_player.qc	2008-08-06 06:01:47 UTC (rev 4034)
+++ trunk/data/qcsrc/server/cl_player.qc	2008-08-06 06:33:35 UTC (rev 4035)
@@ -267,11 +267,11 @@
 	take = bound(0, damage - save, damage);
 
 	if (save > 10)
-		sound (self, CHAN_BODY, "misc/armorimpact.wav", VOL_BASE, ATTN_NORM);
+		sound (self, CHAN_PROJECTILE, "misc/armorimpact.wav", VOL_BASE, ATTN_NORM);
 	else if (take > 30)
-		sound (self, CHAN_BODY, "misc/bodyimpact2.wav", VOL_BASE, ATTN_NORM);
+		sound (self, CHAN_PROJECTILE, "misc/bodyimpact2.wav", VOL_BASE, ATTN_NORM);
 	else if (take > 10)
-		sound (self, CHAN_BODY, "misc/bodyimpact1.wav", VOL_BASE, ATTN_NORM);
+		sound (self, CHAN_PROJECTILE, "misc/bodyimpact1.wav", VOL_BASE, ATTN_NORM);
 
 	if(sv_gentle < 1) {	
 		if (take > 50)
@@ -379,11 +379,11 @@
 	}
 
 	if (save > 10)
-		sound (self, CHAN_BODY, "misc/armorimpact.wav", VOL_BASE, ATTN_NORM);
+		sound (self, CHAN_PROJECTILE, "misc/armorimpact.wav", VOL_BASE, ATTN_NORM);
 	else if (take > 30)
-		sound (self, CHAN_BODY, "misc/bodyimpact2.wav", VOL_BASE, ATTN_NORM);
+		sound (self, CHAN_PROJECTILE, "misc/bodyimpact2.wav", VOL_BASE, ATTN_NORM);
 	else if (take > 10)
-		sound (self, CHAN_BODY, "misc/bodyimpact1.wav", VOL_BASE, ATTN_NORM); // FIXME possibly remove them?
+		sound (self, CHAN_PROJECTILE, "misc/bodyimpact1.wav", VOL_BASE, ATTN_NORM); // FIXME possibly remove them?
 
 	if (take > 50)
 		TossGib (world, "models/gibs/chunk.mdl", hitloc, force * -0.1,1);

Modified: trunk/data/qcsrc/server/constants.qh
===================================================================
--- trunk/data/qcsrc/server/constants.qh	2008-08-06 06:01:47 UTC (rev 4034)
+++ trunk/data/qcsrc/server/constants.qh	2008-08-06 06:33:35 UTC (rev 4035)
@@ -106,14 +106,14 @@
 float	TE_LAVASPLASH				= 10;
 float	TE_TELEPORT				= 11;
 
-float	CHAN_AUTO				= 0; // announcer/feedback only
-float	CHAN_WEAPON				= 1; // firing only
-float	CHAN_VOICE				= 2; // player voice messages only
-float	CHAN_ITEM				= 3; // items only
-float	CHAN_BODY				= 4; // projectiles, or their impact on a player
-float	CHAN_POWERUP			= 5; // powerup effects
-float	CHAN_PAIN				= 6; // player pain only
-float	CHAN_PLAYER				= 7; // player body sounds only
+float	CHAN_AUTO				= 0; // Announcer/Chat
+float	CHAN_WEAPON				= 1; // Weapon fire
+float	CHAN_VOICE				= 2; // Voice/Radio
+float	CHAN_TRIGGER			= 3; // Triggers
+float	CHAN_PROJECTILE			= 4; // Projectiles
+float	CHAN_POWERUP			= 5; // Powerups
+float	CHAN_PAIN				= 6; // Pain
+float	CHAN_PLAYER				= 7; // Player body
 
 float	ATTN_NONE				= 0;
 float	ATTN_NORM				= 0.5;

Modified: trunk/data/qcsrc/server/ctf.qc
===================================================================
--- trunk/data/qcsrc/server/ctf.qc	2008-08-06 06:01:47 UTC (rev 4034)
+++ trunk/data/qcsrc/server/ctf.qc	2008-08-06 06:33:35 UTC (rev 4035)
@@ -214,7 +214,7 @@
 		if (time > self.pain_finished)
 		{
 			bprint("The ", self.netname, " has returned to base\n");
-			sound (e, CHAN_ITEM, self.noise3, VOL_BASE, ATTN_NONE);
+			sound (e, CHAN_TRIGGER, self.noise3, VOL_BASE, ATTN_NONE);
 			LogCTF("returned", self.team, world);
 			ReturnFlag(self);
 		}
@@ -294,7 +294,7 @@
 			if (head.team == self.team)
 				UpdateFrags(head, cvar("g_ctf_flagscore_capture_team"));
 
-		sound (self, CHAN_ITEM, self.noise2, VOL_BASE, ATTN_NONE);
+		sound (self, CHAN_TRIGGER, self.noise2, VOL_BASE, ATTN_NONE);
 		WaypointSprite_DetachCarrier(other);
 		if(self.speedrunning)
 			FakeTimeLimit(other, -1);
@@ -325,7 +325,7 @@
 		UpdateFrags(other, cvar("g_ctf_flagscore_pickup"));
 		PlayerScore_Add(other, SP_CTF_PICKUPS, 1);
 		LogCTF("steal", self.team, other);
-		sound (self, CHAN_ITEM, self.noise, VOL_BASE, ATTN_NONE);
+		sound (self, CHAN_TRIGGER, self.noise, VOL_BASE, ATTN_NONE);
 
 		FOR_EACH_PLAYER(player)
 			if(player.team == self.team)
@@ -352,7 +352,7 @@
 				UpdateFrags(other, cvar("g_ctf_flagscore_return_rogue"));
 			PlayerScore_Add(other, SP_CTF_RETURNS, 1);
 			LogCTF("return", self.team, other);
-			sound (self, CHAN_ITEM, self.noise1, VOL_BASE, ATTN_NONE);
+			sound (self, CHAN_TRIGGER, self.noise1, VOL_BASE, ATTN_NONE);
 			ReturnFlag(self);
 		}
 		else if (!other.flagcarried)
@@ -366,7 +366,7 @@
 			bprint(other.netname, "^7 picked up the ", self.netname, "\n");
 			UpdateFrags(other, cvar("g_ctf_flagscore_pickup"));
 			LogCTF("pickup", self.team, other);
-			sound (self, CHAN_ITEM, self.noise, VOL_BASE, ATTN_NONE);
+			sound (self, CHAN_TRIGGER, self.noise, VOL_BASE, ATTN_NONE);
 
 			FOR_EACH_PLAYER(player)
 				if(player.team == self.team)

Modified: trunk/data/qcsrc/server/domination.qc
===================================================================
--- trunk/data/qcsrc/server/domination.qc	2008-08-06 06:01:47 UTC (rev 4034)
+++ trunk/data/qcsrc/server/domination.qc	2008-08-06 06:33:35 UTC (rev 4035)
@@ -68,7 +68,7 @@
 		self.enemy = world;
 
 	if (head.noise != "")
-		sound(self, CHAN_ITEM, head.noise, VOL_BASE, ATTN_NORM);
+		sound(self, CHAN_TRIGGER, head.noise, VOL_BASE, ATTN_NORM);
 	if (head.noise1 != "")
 		play2all(head.noise1);
 

Modified: trunk/data/qcsrc/server/g_casings.qc
===================================================================
--- trunk/data/qcsrc/server/g_casings.qc	2008-08-06 06:01:47 UTC (rev 4034)
+++ trunk/data/qcsrc/server/g_casings.qc	2008-08-06 06:33:35 UTC (rev 4035)
@@ -8,7 +8,7 @@
 	if (other.solid == SOLID_BSP)
 	if (vlen(self.velocity) >= 50)
 	if (time >= self.attack_finished_single)
-	sound (self, CHAN_BODY, "weapons/tink1.wav", 0.5 * VOL_BASE, ATTN_NORM);
+	sound (self, CHAN_PROJECTILE, "weapons/tink1.wav", 0.5 * VOL_BASE, ATTN_NORM);
 	self.attack_finished_single = time + 0.2;
 	//self.touch = SUB_Null; // one tink is enough
 	//self.dest = self.origin - self.groundentity.origin;

Modified: trunk/data/qcsrc/server/g_hook.qc
===================================================================
--- trunk/data/qcsrc/server/g_hook.qc	2008-08-06 06:01:47 UTC (rev 4034)
+++ trunk/data/qcsrc/server/g_hook.qc	2008-08-06 06:33:35 UTC (rev 4035)
@@ -185,7 +185,7 @@
 	}
 
 	pointparticles(particleeffectnum("grapple_impact"), self.origin, '0 0 0', 1);
-	sound (self, CHAN_BODY, "weapons/hook_impact.wav", VOL_BASE, ATTN_NORM);
+	sound (self, CHAN_PROJECTILE, "weapons/hook_impact.wav", VOL_BASE, ATTN_NORM);
 
 	self.state = 1;
 	self.think = GrapplingHookThink;

Modified: trunk/data/qcsrc/server/g_triggers.qc
===================================================================
--- trunk/data/qcsrc/server/g_triggers.qc	2008-08-06 06:01:47 UTC (rev 4034)
+++ trunk/data/qcsrc/server/g_triggers.qc	2008-08-06 06:33:35 UTC (rev 4035)
@@ -140,7 +140,7 @@
 	}
 
 	if (self.noise)
-		sound (self, CHAN_ITEM, self.noise, VOL_BASE, ATTN_NORM);
+		sound (self, CHAN_TRIGGER, self.noise, VOL_BASE, ATTN_NORM);
 
 // don't trigger again until reset
 	self.takedamage = DAMAGE_NO;
@@ -458,7 +458,7 @@
 }
 
 
-void target_speaker_use() {sound(self, CHAN_ITEM, self.noise, VOL_BASE, ATTN_NORM);}
+void target_speaker_use() {sound(self, CHAN_TRIGGER, self.noise, VOL_BASE, ATTN_NORM);}
 
 void spawnfunc_target_speaker()
 {

Modified: trunk/data/qcsrc/server/g_violence.qc
===================================================================
--- trunk/data/qcsrc/server/g_violence.qc	2008-08-06 06:01:47 UTC (rev 4034)
+++ trunk/data/qcsrc/server/g_violence.qc	2008-08-06 06:33:35 UTC (rev 4035)
@@ -3,13 +3,13 @@
 	float r;
 	r = random ();
 	if (r < 0.60)
-		sound (self, CHAN_BODY, "misc/gib_splat01.wav", VOL_BASE, ATTN_NORM);
+		sound (self, CHAN_PROJECTILE, "misc/gib_splat01.wav", VOL_BASE, ATTN_NORM);
 	else if (r < 0.65)
-		sound (self, CHAN_BODY, "misc/gib_splat02.wav", VOL_BASE, ATTN_NORM);
+		sound (self, CHAN_PROJECTILE, "misc/gib_splat02.wav", VOL_BASE, ATTN_NORM);
 	else if (r < 0.70)
-		sound (self, CHAN_BODY, "misc/gib_splat03.wav", VOL_BASE, ATTN_NORM);
+		sound (self, CHAN_PROJECTILE, "misc/gib_splat03.wav", VOL_BASE, ATTN_NORM);
 	else if (r < 0.75)
-		sound (self, CHAN_BODY, "misc/gib_splat04.wav", VOL_BASE, ATTN_NORM);
+		sound (self, CHAN_PROJECTILE, "misc/gib_splat04.wav", VOL_BASE, ATTN_NORM);
 	
 	if(sv_gentle < 1)
 		pointparticles(particleeffectnum("blood"), self.origin + '0 0 1', '0 0 30', 10);

Modified: trunk/data/qcsrc/server/keyhunt.qc
===================================================================
--- trunk/data/qcsrc/server/keyhunt.qc	2008-08-06 06:01:47 UTC (rev 4034)
+++ trunk/data/qcsrc/server/keyhunt.qc	2008-08-06 06:33:35 UTC (rev 4035)
@@ -435,7 +435,7 @@
 
 void kh_Key_Collect(entity key, entity player)  //a player picks up a dropped key
 {
-	sound(player, CHAN_ITEM, kh_sound_collect, VOL_BASE, ATTN_NORM);
+	sound(player, CHAN_TRIGGER, kh_sound_collect, VOL_BASE, ATTN_NORM);
 
 	if(key.kh_dropperteam != player.team)
 	{
@@ -477,7 +477,7 @@
 			if(suicide)
 				key.kh_dropperteam = player.team;
 		}
-		sound(player, CHAN_ITEM, kh_sound_drop, VOL_BASE, ATTN_NORM);
+		sound(player, CHAN_TRIGGER, kh_sound_drop, VOL_BASE, ATTN_NORM);
 	}
 }
 
@@ -542,7 +542,7 @@
 			self.pusher = world;
 			kh_Scores_Event(self.owner, self, "dropkey", 0, 0);
 			bprint(self.owner.netname, "^7 dropped the ", self.netname, "\n");
-			sound(self.owner, CHAN_ITEM, kh_sound_drop, VOL_BASE, ATTN_NORM);
+			sound(self.owner, CHAN_TRIGGER, kh_sound_drop, VOL_BASE, ATTN_NORM);
 			makevectors(self.owner.v_angle);
 			self.velocity = W_CalculateProjectileVelocity(self.owner.velocity, cvar("g_balance_keyhunt_throwvelocity") * v_forward);
 			kh_Key_AssignTo(self, world);
@@ -561,7 +561,7 @@
 	{
 		if(self.siren_time < time)
 		{
-			sound(self.owner, CHAN_ITEM, kh_sound_alarm, VOL_BASE, ATTN_NORM);  // play a simple alarm
+			sound(self.owner, CHAN_TRIGGER, kh_sound_alarm, VOL_BASE, ATTN_NORM);  // play a simple alarm
 			self.siren_time = time + 2.5;  // repeat every 2.5 seconds
 		}
 

Modified: trunk/data/qcsrc/server/mode_onslaught.qc
===================================================================
--- trunk/data/qcsrc/server/mode_onslaught.qc	2008-08-06 06:01:47 UTC (rev 4034)
+++ trunk/data/qcsrc/server/mode_onslaught.qc	2008-08-06 06:33:35 UTC (rev 4035)
@@ -319,7 +319,7 @@
 	{
 		// self.max_health / 300 gives 5 minutes of overtime.
 		// control points reduce the overtime duration.
-		sound(self, CHAN_ITEM, "sound/onslaught/generator_decay.wav", VOL_BASE, ATTN_NORM);
+		sound(self, CHAN_TRIGGER, "sound/onslaught/generator_decay.wav", VOL_BASE, ATTN_NORM);
 		d = 1;
 		e = findchain(classname, "onslaught_controlpoint");
 		while (e)
@@ -343,13 +343,13 @@
 		self.count = self.count - 1;
 		org = randompos(self.origin + self.mins + '8 8 8', self.origin + self.maxs + '-8 -8 -8');
 		pointparticles(particleeffectnum("onslaught_generator_smallexplosion"), org, '0 0 0', 1);
-		sound(self, CHAN_ITEM, "sound/weapons/grenade_impact.wav", VOL_BASE, ATTN_NORM);
+		sound(self, CHAN_TRIGGER, "sound/weapons/grenade_impact.wav", VOL_BASE, ATTN_NORM);
 	}
 	else
 	{
 		org = self.origin;
 		pointparticles(particleeffectnum("onslaught_generator_finalexplosion"), org, '0 0 0', 1);
-		sound(self, CHAN_ITEM, "sound/weapons/rocket_impact.wav", VOL_BASE, ATTN_NORM);
+		sound(self, CHAN_TRIGGER, "sound/weapons/rocket_impact.wav", VOL_BASE, ATTN_NORM);
 	}
 };
 
@@ -622,7 +622,7 @@
 	self.colormod = '2 2 2';
 	if (self.health < 0)
 	{
-		sound(self, CHAN_ITEM, "sound/weapons/grenade_impact.wav", VOL_BASE, ATTN_NORM);
+		sound(self, CHAN_TRIGGER, "sound/weapons/grenade_impact.wav", VOL_BASE, ATTN_NORM);
 		pointparticles(particleeffectnum("onslaught_controlpoint_explosion"), self.origin, '0 0 0', 1);
 		{
 			string t;
@@ -672,7 +672,7 @@
 		self.health = self.max_health;
 		self.count = self.count * 0.2; // slow repair rate from now on
 		self.think = onslaught_controlpoint_icon_think;
-		sound(self, CHAN_ITEM, "sound/onslaught/controlpoint_built.wav", VOL_BASE, ATTN_NORM);
+		sound(self, CHAN_TRIGGER, "sound/onslaught/controlpoint_built.wav", VOL_BASE, ATTN_NORM);
 		bprint(ColoredTeamName(self.team), " captured ", self.owner.message, " control point\n");
 		self.owner.iscaptured = TRUE;
 		onslaught_updatelinks();
@@ -719,7 +719,7 @@
 	e.think = onslaught_controlpoint_icon_buildthink;
 	e.nextthink = time + 0.1;
 	e.count = e.max_health / 50; // how long it takes to build
-	sound(e, CHAN_ITEM, "sound/onslaught/controlpoint_build.wav", VOL_BASE, ATTN_NORM);
+	sound(e, CHAN_TRIGGER, "sound/onslaught/controlpoint_build.wav", VOL_BASE, ATTN_NORM);
 	self.team = e.team;
 	self.colormap = e.colormap;
 };

Modified: trunk/data/qcsrc/server/t_items.qc
===================================================================
--- trunk/data/qcsrc/server/t_items.qc	2008-08-06 06:01:47 UTC (rev 4034)
+++ trunk/data/qcsrc/server/t_items.qc	2008-08-06 06:33:35 UTC (rev 4035)
@@ -5,7 +5,7 @@
 {
 	self.model = self.mdl;		// restore original model
 	self.solid = SOLID_TRIGGER;	// allow it to be touched again
-	sound (self, CHAN_ITEM, "misc/itemrespawn.wav", VOL_BASE, ATTN_NORM);	// play respawn sound
+	sound (self, CHAN_TRIGGER, "misc/itemrespawn.wav", VOL_BASE, ATTN_NORM);	// play respawn sound
 	setorigin (self, self.origin);
 
 	//pointparticles(particleeffectnum("item_respawn"), self.origin + self.mins_z * '0 0 1' + '0 0 48', '0 0 0', 1);
@@ -185,7 +185,7 @@
 	if (!pickedup)
 		return;
 
-	sound (other, CHAN_ITEM, self.item_pickupsound, VOL_BASE, ATTN_NORM);
+	sound (other, CHAN_TRIGGER, self.item_pickupsound, VOL_BASE, ATTN_NORM);
 
 	oldself = self;
 	self = other;

Modified: trunk/data/qcsrc/server/t_jumppads.qc
===================================================================
--- trunk/data/qcsrc/server/t_jumppads.qc	2008-08-06 06:01:47 UTC (rev 4034)
+++ trunk/data/qcsrc/server/t_jumppads.qc	2008-08-06 06:33:35 UTC (rev 4035)
@@ -131,7 +131,7 @@
 		{
 			// flash when activated
 			pointparticles(particleeffectnum("jumppad_activate"), other.origin, other.velocity, 1);
-			sound (other, CHAN_ITEM, self.noise, VOL_BASE, ATTN_NORM);
+			sound (other, CHAN_TRIGGER, self.noise, VOL_BASE, ATTN_NORM);
 			self.pushltime = time + 0.2;
 		}
 		if(clienttype(other) == CLIENTTYPE_REAL)

Modified: trunk/data/qcsrc/server/t_plats.qc
===================================================================
--- trunk/data/qcsrc/server/t_plats.qc	2008-08-06 06:01:47 UTC (rev 4034)
+++ trunk/data/qcsrc/server/t_plats.qc	2008-08-06 06:33:35 UTC (rev 4035)
@@ -49,7 +49,7 @@
 
 void plat_hit_top()
 {
-	sound (self, CHAN_ITEM, self.noise1, VOL_BASE, ATTN_NORM);
+	sound (self, CHAN_TRIGGER, self.noise1, VOL_BASE, ATTN_NORM);
 	self.state = 1;
 	self.think = plat_go_down;
 	self.nextthink = self.ltime + 3;
@@ -57,20 +57,20 @@
 
 void plat_hit_bottom()
 {
-	sound (self, CHAN_ITEM, self.noise1, VOL_BASE, ATTN_NORM);
+	sound (self, CHAN_TRIGGER, self.noise1, VOL_BASE, ATTN_NORM);
 	self.state = 2;
 };
 
 void plat_go_down()
 {
-	sound (self, CHAN_ITEM, self.noise, VOL_BASE, ATTN_NORM);
+	sound (self, CHAN_TRIGGER, self.noise, VOL_BASE, ATTN_NORM);
 	self.state = 3;
 	SUB_CalcMove (self.pos2, self.speed, plat_hit_bottom);
 };
 
 void plat_go_up()
 {
-	sound (self, CHAN_ITEM, self.noise, VOL_BASE, ATTN_NORM);
+	sound (self, CHAN_TRIGGER, self.noise, VOL_BASE, ATTN_NORM);
 	self.state = 4;
 	SUB_CalcMove (self.pos1, self.speed, plat_hit_top);
 };
@@ -246,7 +246,7 @@
 	if (self.wait)
 	{
 		self.nextthink = self.ltime + self.wait;
-		sound (self, CHAN_ITEM, self.noise, VOL_BASE, ATTN_NORM);
+		sound (self, CHAN_TRIGGER, self.noise, VOL_BASE, ATTN_NORM);
 	}
 	else
 		self.nextthink = self.ltime + 0.1;
@@ -266,7 +266,7 @@
 		self.wait = targ.wait;
 	else
 		self.wait = 0;
-	sound (self, CHAN_ITEM, self.noise1, VOL_BASE, ATTN_NORM);
+	sound (self, CHAN_TRIGGER, self.noise1, VOL_BASE, ATTN_NORM);
 	SUB_CalcMove (targ.origin - self.mins, self.speed, train_wait);
 };
 
@@ -577,7 +577,7 @@
 		return;
 
 	if (self.noise != "")
-		sound (self, CHAN_ITEM, self.noise, VOL_BASE, ATTN_NORM);
+		sound (self, CHAN_TRIGGER, self.noise, VOL_BASE, ATTN_NORM);
 
 	self.state = STATE_UP;
 	SUB_CalcMove (self.pos2, self.speed, button_wait);
@@ -754,7 +754,7 @@
 void door_hit_top()
 {
 	if (self.noise1 != "")
-		sound (self, CHAN_ITEM, self.noise1, VOL_BASE, ATTN_NORM);
+		sound (self, CHAN_TRIGGER, self.noise1, VOL_BASE, ATTN_NORM);
 	self.state = STATE_TOP;
 	if (self.spawnflags & DOOR_TOGGLE)
 		return;		// don't come down automatically
@@ -765,14 +765,14 @@
 void door_hit_bottom()
 {
 	if (self.noise1 != "")
-		sound (self, CHAN_ITEM, self.noise1, VOL_BASE, ATTN_NORM);
+		sound (self, CHAN_TRIGGER, self.noise1, VOL_BASE, ATTN_NORM);
 	self.state = STATE_BOTTOM;
 };
 
 void door_go_down()
 {
 	if (self.noise2 != "")
-		sound (self, CHAN_ITEM, self.noise2, VOL_BASE, ATTN_NORM);
+		sound (self, CHAN_TRIGGER, self.noise2, VOL_BASE, ATTN_NORM);
 	if (self.max_health)
 	{
 		self.takedamage = DAMAGE_YES;
@@ -795,7 +795,7 @@
 	}
 
 	if (self.noise2 != "")
-		sound (self, CHAN_ITEM, self.noise2, VOL_BASE, ATTN_NORM);
+		sound (self, CHAN_TRIGGER, self.noise2, VOL_BASE, ATTN_NORM);
 	self.state = STATE_UP;
 	SUB_CalcMove (self.pos2, self.speed, door_hit_top);
 
@@ -1201,7 +1201,7 @@
 	// Make a sound, wait a little...
 
 	if (self.noise1 != "")
-		sound(self, CHAN_ITEM, self.noise1, VOL_BASE, ATTN_NORM);
+		sound(self, CHAN_TRIGGER, self.noise1, VOL_BASE, ATTN_NORM);
 	self.nextthink = self.ltime + 0.1;
 
 	temp = 1 - (self.spawnflags & SECRET_1ST_LEFT);	// 1 or -1
@@ -1226,7 +1226,7 @@
 	self.dest2 = self.dest1 + v_forward * self.t_length;
 	SUB_CalcMove(self.dest1, self.speed, fd_secret_move1);
 	if (self.noise2 != "")
-		sound(self, CHAN_ITEM, self.noise2, VOL_BASE, ATTN_NORM);
+		sound(self, CHAN_TRIGGER, self.noise2, VOL_BASE, ATTN_NORM);
 };
 
 // Wait after first movement...
@@ -1235,14 +1235,14 @@
 	self.nextthink = self.ltime + 1.0;
 	self.think = fd_secret_move2;
 	if (self.noise3 != "")
-		sound(self, CHAN_ITEM, self.noise3, VOL_BASE, ATTN_NORM);
+		sound(self, CHAN_TRIGGER, self.noise3, VOL_BASE, ATTN_NORM);
 };
 
 // Start moving sideways w/sound...
 void fd_secret_move2()
 {
 	if (self.noise2 != "")
-		sound(self, CHAN_ITEM, self.noise2, VOL_BASE, ATTN_NORM);
+		sound(self, CHAN_TRIGGER, self.noise2, VOL_BASE, ATTN_NORM);
 	SUB_CalcMove(self.dest2, self.speed, fd_secret_move3);
 };
 
@@ -1250,7 +1250,7 @@
 void fd_secret_move3()
 {
 	if (self.noise3 != "")
-		sound(self, CHAN_ITEM, self.noise3, VOL_BASE, ATTN_NORM);
+		sound(self, CHAN_TRIGGER, self.noise3, VOL_BASE, ATTN_NORM);
 	if (!(self.spawnflags & SECRET_OPEN_ONCE))
 	{
 		self.nextthink = self.ltime + self.wait;
@@ -1262,7 +1262,7 @@
 void fd_secret_move4()
 {
 	if (self.noise2 != "")
-		sound(self, CHAN_ITEM, self.noise2, VOL_BASE, ATTN_NORM);
+		sound(self, CHAN_TRIGGER, self.noise2, VOL_BASE, ATTN_NORM);
 	SUB_CalcMove(self.dest1, self.speed, fd_secret_move5);
 };
 
@@ -1272,13 +1272,13 @@
 	self.nextthink = self.ltime + 1.0;
 	self.think = fd_secret_move6;
 	if (self.noise3 != "")
-		sound(self, CHAN_ITEM, self.noise3, VOL_BASE, ATTN_NORM);
+		sound(self, CHAN_TRIGGER, self.noise3, VOL_BASE, ATTN_NORM);
 };
 
 void fd_secret_move6()
 {
 	if (self.noise2 != "")
-		sound(self, CHAN_ITEM, self.noise2, VOL_BASE, ATTN_NORM);
+		sound(self, CHAN_TRIGGER, self.noise2, VOL_BASE, ATTN_NORM);
 	SUB_CalcMove(self.oldorigin, self.speed, fd_secret_done);
 };
 
@@ -1291,7 +1291,7 @@
 		//self.th_pain = fd_secret_use;
         }
 	if (self.noise3 != "")
-		sound(self, CHAN_ITEM, self.noise3, VOL_BASE, ATTN_NORM);
+		sound(self, CHAN_TRIGGER, self.noise3, VOL_BASE, ATTN_NORM);
 };
 
 void secret_blocked()

Modified: trunk/data/qcsrc/server/t_teleporters.qc
===================================================================
--- trunk/data/qcsrc/server/t_teleporters.qc	2008-08-06 06:01:47 UTC (rev 4034)
+++ trunk/data/qcsrc/server/t_teleporters.qc	2008-08-06 06:33:35 UTC (rev 4035)
@@ -63,11 +63,11 @@
 		return;
 
 	// Make teleport effect where the player left
-	sound (other, CHAN_ITEM, "misc/teleport.wav", VOL_BASE, ATTN_NORM);
+	sound (other, CHAN_TRIGGER, "misc/teleport.wav", VOL_BASE, ATTN_NORM);
 	pointparticles(particleeffectnum("teleport"), other.origin, '0 0 0', 1);
 
 	// Make teleport effect where the player arrived
-	sound (self.enemy, CHAN_ITEM, "misc/teleport.wav", VOL_BASE, ATTN_NORM);
+	sound (self.enemy, CHAN_TRIGGER, "misc/teleport.wav", VOL_BASE, ATTN_NORM);
 	makevectors (self.enemy.mangle);
 	pointparticles(particleeffectnum("teleport"), self.enemy.origin + v_forward * 32, '0 0 0', 1);
 

Modified: trunk/data/qcsrc/server/w_electro.qc
===================================================================
--- trunk/data/qcsrc/server/w_electro.qc	2008-08-06 06:01:47 UTC (rev 4034)
+++ trunk/data/qcsrc/server/w_electro.qc	2008-08-06 06:33:35 UTC (rev 4035)
@@ -15,7 +15,7 @@
 		pointparticles(particleeffectnum("electro_impact"), org2, '0 0 0', 1);
 		RadiusDamage (self, self.owner, cvar("g_balance_electro_primary_damage"), cvar("g_balance_electro_primary_edgedamage"), cvar("g_balance_electro_primary_radius"), world, cvar("g_balance_electro_primary_force"), IT_ELECTRO);
 	}
-	sound (self, CHAN_BODY, "weapons/electro_impact.wav", VOL_BASE, ATTN_NORM);
+	sound (self, CHAN_PROJECTILE, "weapons/electro_impact.wav", VOL_BASE, ATTN_NORM);
 
 	remove (self);
 }
@@ -26,7 +26,7 @@
 	org2 = findbetterlocation (self.origin, 8);
 	pointparticles(particleeffectnum("electro_combo"), org2, '0 0 0', 1);
 
-	sound (self, CHAN_BODY, "weapons/electro_impact_combo.wav", VOL_BASE, ATTN_NORM);
+	sound (self, CHAN_PROJECTILE, "weapons/electro_impact_combo.wav", VOL_BASE, ATTN_NORM);
 
 	self.event_damage = SUB_Null;
 	RadiusDamage (self, self.owner, cvar("g_balance_electro_combo_damage"), cvar("g_balance_electro_combo_edgedamage"), cvar("g_balance_electro_combo_radius"), world, cvar("g_balance_electro_combo_force"), IT_ELECTRO);
@@ -38,7 +38,7 @@
 	entity o;
 	if (trace_dphitq3surfaceflags & Q3SURFACEFLAG_NOIMPACT)
 	{
-		sound (self, CHAN_BODY, "misc/null.wav", VOL_BASE, ATTN_NORM);
+		sound (self, CHAN_PROJECTILE, "misc/null.wav", VOL_BASE, ATTN_NORM);
 		remove(self);
 		return;
 	}
@@ -50,7 +50,7 @@
 				if(IsFlying(other))
 					announce(o, "announcer/male/electrobitch.ogg");
 	} else {
-		sound (self, CHAN_BODY, "weapons/electro_bounce.wav", VOL_BASE, ATTN_NORM);
+		sound (self, CHAN_PROJECTILE, "weapons/electro_bounce.wav", VOL_BASE, ATTN_NORM);
 	}
 }
 
@@ -59,7 +59,7 @@
 	entity o;
 	if (trace_dphitq3surfaceflags & Q3SURFACEFLAG_NOIMPACT)
 	{
-		sound (self, CHAN_BODY, "misc/null.wav", VOL_BASE, ATTN_NORM);
+		sound (self, CHAN_PROJECTILE, "misc/null.wav", VOL_BASE, ATTN_NORM);
 		remove(self);
 		return;
 	}
@@ -122,7 +122,7 @@
 	setsize(proj, '0 0 0', '0 0 0');
 
 	// LordHavoc: disabled because no one likes this sound and it sometimes never stops due to packet loss
-	//sound (proj, CHAN_BODY, "weapons/electro_fly.wav", VOL_BASE, ATTN_NORM);
+	//sound (proj, CHAN_PROJECTILE, "weapons/electro_fly.wav", VOL_BASE, ATTN_NORM);
 }
 
 void W_Electro_Attack2()
@@ -161,7 +161,7 @@
 	proj.flags = FL_PROJECTILE;
 
 	// LordHavoc: disabled because no one likes this sound and it sometimes never stops due to packet loss
-	//sound (proj, CHAN_BODY, "weapons/electro_fly.wav", VOL_BASE, ATTN_NORM);
+	//sound (proj, CHAN_PROJECTILE, "weapons/electro_fly.wav", VOL_BASE, ATTN_NORM);
 }
 
 .float bot_secondary_electromooth;

Modified: trunk/data/qcsrc/server/w_grenadelauncher.qc
===================================================================
--- trunk/data/qcsrc/server/w_grenadelauncher.qc	2008-08-06 06:01:47 UTC (rev 4034)
+++ trunk/data/qcsrc/server/w_grenadelauncher.qc	2008-08-06 06:33:35 UTC (rev 4035)
@@ -4,7 +4,7 @@
 	vector	org2;
 	org2 = findbetterlocation (self.origin, 12);
 	pointparticles(particleeffectnum("grenade_explode"), org2, '0 0 0', 1);
-	sound (self, CHAN_BODY, "weapons/grenade_impact.wav", VOL_BASE, ATTN_NORM);
+	sound (self, CHAN_PROJECTILE, "weapons/grenade_impact.wav", VOL_BASE, ATTN_NORM);
 
 	self.event_damage = SUB_Null;
 	RadiusDamage (self, self.owner, cvar("g_balance_grenadelauncher_primary_damage"), cvar("g_balance_grenadelauncher_primary_edgedamage"), cvar("g_balance_grenadelauncher_primary_radius"), world, cvar("g_balance_grenadelauncher_primary_force"), IT_GRENADE_LAUNCHER);
@@ -17,7 +17,7 @@
 	vector	org2;
 	org2 = findbetterlocation (self.origin, 12);
 	pointparticles(particleeffectnum("grenade_explode"), org2, '0 0 0', 1);
-	sound (self, CHAN_BODY, "weapons/grenade_impact.wav", VOL_BASE, ATTN_NORM);
+	sound (self, CHAN_PROJECTILE, "weapons/grenade_impact.wav", VOL_BASE, ATTN_NORM);
 
 	self.event_damage = SUB_Null;
 	RadiusDamage (self, self.owner, cvar("g_balance_grenadelauncher_secondary_damage"), cvar("g_balance_grenadelauncher_secondary_edgedamage"), cvar("g_balance_grenadelauncher_secondary_radius"), world, cvar("g_balance_grenadelauncher_secondary_force"), IT_GRENADE_LAUNCHER);
@@ -49,17 +49,17 @@
 		float r;
 		r = random() * 6;
 		if(r < 1)
-			sound (self, CHAN_BODY, "weapons/grenade_bounce1.wav", VOL_BASE, ATTN_NORM);
+			sound (self, CHAN_PROJECTILE, "weapons/grenade_bounce1.wav", VOL_BASE, ATTN_NORM);
 		else if(r < 2)
-			sound (self, CHAN_BODY, "weapons/grenade_bounce2.wav", VOL_BASE, ATTN_NORM);
+			sound (self, CHAN_PROJECTILE, "weapons/grenade_bounce2.wav", VOL_BASE, ATTN_NORM);
 		else if(r < 3)
-			sound (self, CHAN_BODY, "weapons/grenade_bounce3.wav", VOL_BASE, ATTN_NORM);
+			sound (self, CHAN_PROJECTILE, "weapons/grenade_bounce3.wav", VOL_BASE, ATTN_NORM);
 		else if(r < 4)
-			sound (self, CHAN_BODY, "weapons/grenade_bounce4.wav", VOL_BASE, ATTN_NORM);
+			sound (self, CHAN_PROJECTILE, "weapons/grenade_bounce4.wav", VOL_BASE, ATTN_NORM);
 		else if(r < 5)
-			sound (self, CHAN_BODY, "weapons/grenade_bounce5.wav", VOL_BASE, ATTN_NORM);
+			sound (self, CHAN_PROJECTILE, "weapons/grenade_bounce5.wav", VOL_BASE, ATTN_NORM);
 		else
-			sound (self, CHAN_BODY, "weapons/grenade_bounce6.wav", VOL_BASE, ATTN_NORM);
+			sound (self, CHAN_PROJECTILE, "weapons/grenade_bounce6.wav", VOL_BASE, ATTN_NORM);
 	}
 }
 

Modified: trunk/data/qcsrc/server/w_hagar.qc
===================================================================
--- trunk/data/qcsrc/server/w_hagar.qc	2008-08-06 06:01:47 UTC (rev 4034)
+++ trunk/data/qcsrc/server/w_hagar.qc	2008-08-06 06:33:35 UTC (rev 4035)
@@ -6,11 +6,11 @@
 	pointparticles(particleeffectnum("hagar_explode"), org2, '0 0 0', 1);
 	b = crandom();
 	if (b<-0.7)
-		sound (self, CHAN_BODY, "weapons/hagexp1.wav", VOL_BASE, ATTN_NORM);
+		sound (self, CHAN_PROJECTILE, "weapons/hagexp1.wav", VOL_BASE, ATTN_NORM);
 	else if (b<0.4)
-		sound (self, CHAN_BODY, "weapons/hagexp2.wav", VOL_BASE, ATTN_NORM);
+		sound (self, CHAN_PROJECTILE, "weapons/hagexp2.wav", VOL_BASE, ATTN_NORM);
 	else if (b<1)
-		sound (self, CHAN_BODY, "weapons/hagexp3.wav", VOL_BASE, ATTN_NORM);
+		sound (self, CHAN_PROJECTILE, "weapons/hagexp3.wav", VOL_BASE, ATTN_NORM);
 
 	self.event_damage = SUB_Null;
 	RadiusDamage (self, self.realowner, cvar("g_balance_hagar_primary_damage"), cvar("g_balance_hagar_primary_edgedamage"), cvar("g_balance_hagar_primary_radius"), world, cvar("g_balance_hagar_primary_force"), IT_HAGAR);
@@ -26,11 +26,11 @@
 	pointparticles(particleeffectnum("hagar_explode"), org2, '0 0 0', 1);
 	b = crandom();
 	if (b<-0.7)
-		sound (self, CHAN_BODY, "weapons/hagexp1.wav", VOL_BASE, ATTN_NORM);
+		sound (self, CHAN_PROJECTILE, "weapons/hagexp1.wav", VOL_BASE, ATTN_NORM);
 	else if (b<0.4)
-		sound (self, CHAN_BODY, "weapons/hagexp2.wav", VOL_BASE, ATTN_NORM);
+		sound (self, CHAN_PROJECTILE, "weapons/hagexp2.wav", VOL_BASE, ATTN_NORM);
 	else if (b<1)
-		sound (self, CHAN_BODY, "weapons/hagexp3.wav", VOL_BASE, ATTN_NORM);
+		sound (self, CHAN_PROJECTILE, "weapons/hagexp3.wav", VOL_BASE, ATTN_NORM);
 
 	self.event_damage = SUB_Null;
 	RadiusDamage (self, self.realowner, cvar("g_balance_hagar_secondary_damage"), cvar("g_balance_hagar_secondary_edgedamage"), cvar("g_balance_hagar_secondary_radius"), world, cvar("g_balance_hagar_secondary_force"), IT_HAGAR);

Modified: trunk/data/qcsrc/server/w_laser.qc
===================================================================
--- trunk/data/qcsrc/server/w_laser.qc	2008-08-06 06:01:47 UTC (rev 4034)
+++ trunk/data/qcsrc/server/w_laser.qc	2008-08-06 06:33:35 UTC (rev 4035)
@@ -27,7 +27,7 @@
 		RadiusDamage (self, self.owner, cvar("g_balance_laser_secondary_damage"), cvar("g_balance_laser_secondary_edgedamage"), cvar("g_balance_laser_secondary_radius"), world, cvar("g_balance_laser_secondary_force"), IT_LASER);
 	else
 		RadiusDamage (self, self.owner, cvar("g_balance_laser_primary_damage"), cvar("g_balance_laser_primary_edgedamage"), cvar("g_balance_laser_primary_radius"), world, cvar("g_balance_laser_primary_force"), IT_LASER);
-	sound (self, CHAN_BODY, "weapons/laserimpact.wav", VOL_BASE, ATTN_NORM);
+	sound (self, CHAN_PROJECTILE, "weapons/laserimpact.wav", VOL_BASE, ATTN_NORM);
 
 	remove (self);
 }

Modified: trunk/data/qcsrc/server/w_nex.qc
===================================================================
--- trunk/data/qcsrc/server/w_nex.qc	2008-08-06 06:01:47 UTC (rev 4034)
+++ trunk/data/qcsrc/server/w_nex.qc	2008-08-06 06:33:35 UTC (rev 4035)
@@ -29,7 +29,7 @@
 	if (trace_ent.solid == SOLID_BSP && !(trace_dphitq3surfaceflags & Q3SURFACEFLAG_NOIMPACT))
 		pointparticles(particleeffectnum("nex_impact"), trace_endpos - w_shotdir * 6, '0 0 0', 1);
 	// play a sound
-	soundat (self, trace_endpos, CHAN_BODY, "weapons/neximpact.wav", VOL_BASE, ATTN_NORM);
+	soundat (self, trace_endpos, CHAN_PROJECTILE, "weapons/neximpact.wav", VOL_BASE, ATTN_NORM);
 
 	if (cvar("g_use_ammunition") && !g_instagib)
 	{

Modified: trunk/data/qcsrc/server/w_rocketlauncher.qc
===================================================================
--- trunk/data/qcsrc/server/w_rocketlauncher.qc	2008-08-06 06:01:47 UTC (rev 4034)
+++ trunk/data/qcsrc/server/w_rocketlauncher.qc	2008-08-06 06:33:35 UTC (rev 4035)
@@ -5,7 +5,7 @@
 void W_Rocket_Explode (void)
 {
 	vector	org2;
-	sound (self, CHAN_BODY, "weapons/rocket_impact.wav", VOL_BASE, ATTN_NORM);
+	sound (self, CHAN_PROJECTILE, "weapons/rocket_impact.wav", VOL_BASE, ATTN_NORM);
 	org2 = findbetterlocation (self.origin, 16);
 
 	pointparticles(particleeffectnum("rocket_explode"), org2, '0 0 0', 1);
@@ -190,7 +190,7 @@
 		self.owner.lastrocket = world;
 	if (trace_dphitq3surfaceflags & Q3SURFACEFLAG_NOIMPACT)
 	{
-		sound (self, CHAN_BODY, "misc/null.wav", VOL_BASE, ATTN_NORM);
+		sound (self, CHAN_PROJECTILE, "misc/null.wav", VOL_BASE, ATTN_NORM);
 		remove(self);
 		return;
 	}
@@ -254,7 +254,7 @@
 	missile.nextthink = time;
 	missile.cnt = time + cvar("g_balance_rocketlauncher_lifetime");
 	missile.effects = EF_LOWPRECISION;
-	sound (missile, CHAN_BODY, "weapons/rocket_fly.wav", 0.4 * VOL_BASE, ATTN_NORM);
+	sound (missile, CHAN_PROJECTILE, "weapons/rocket_fly.wav", 0.4 * VOL_BASE, ATTN_NORM);
 	missile.flags = FL_PROJECTILE;
 
 	// muzzle flash for 1st person view
@@ -392,7 +392,7 @@
 		if(time > self.rl_sound)
 		{
 			self.rl_sound = time + 1;
-			sound (self, CHAN_BODY, "weapons/rocket_det.wav", 0.5 * VOL_BASE, ATTN_NORM);
+			sound (self, CHAN_PROJECTILE, "weapons/rocket_det.wav", 0.5 * VOL_BASE, ATTN_NORM);
 		}
 		if (self.BUTTON_ATCK2)
 		if(g_laserguided_missile)




More information about the nexuiz-commits mailing list