[nexuiz-commits] r6535 - trunk/data/qcsrc/server

DONOTREPLY at icculus.org DONOTREPLY at icculus.org
Sun Apr 19 11:57:35 EDT 2009


Author: div0
Date: 2009-04-19 11:57:34 -0400 (Sun, 19 Apr 2009)
New Revision: 6535

Modified:
   trunk/data/qcsrc/server/miscfunctions.qc
   trunk/data/qcsrc/server/w_crylink.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_porto.qc
   trunk/data/qcsrc/server/w_seeker.qc
Log:
fix sound spam issue with projectiles stuck on jumppads


Modified: trunk/data/qcsrc/server/miscfunctions.qc
===================================================================
--- trunk/data/qcsrc/server/miscfunctions.qc	2009-04-19 14:54:49 UTC (rev 6534)
+++ trunk/data/qcsrc/server/miscfunctions.qc	2009-04-19 15:57:34 UTC (rev 6535)
@@ -1258,6 +1258,15 @@
 	}
 	return FALSE;
 }
+// use this one if you might be causing spam (e.g. from touch functions that might get called more than once per frame)
+float spamsound(entity e, float chan, string samp, float vol, float atten)
+{
+	if(time > e.announcetime)
+	{
+		e.announcetime = time;
+		sound(e, chan, samp, vol, atten);
+	}
+}
 
 void play2team(float t, string filename)
 {

Modified: trunk/data/qcsrc/server/w_crylink.qc
===================================================================
--- trunk/data/qcsrc/server/w_crylink.qc	2009-04-19 14:54:49 UTC (rev 6534)
+++ trunk/data/qcsrc/server/w_crylink.qc	2009-04-19 15:57:34 UTC (rev 6535)
@@ -2,6 +2,7 @@
 
 .entity realowner;
 
+// NO bounce protection, as bounces are limited!
 void W_Crylink_Touch (void)
 {
 	float finalhit;

Modified: trunk/data/qcsrc/server/w_electro.qc
===================================================================
--- trunk/data/qcsrc/server/w_electro.qc	2009-04-19 14:54:49 UTC (rev 6534)
+++ trunk/data/qcsrc/server/w_electro.qc	2009-04-19 15:57:34 UTC (rev 6535)
@@ -32,7 +32,7 @@
 	if (other.takedamage == DAMAGE_AIM) {
 		W_Plasma_Explode ();
 	} else {
-		sound (self, CHAN_PROJECTILE, "weapons/electro_bounce.wav", VOL_BASE, ATTN_NORM);
+		spamsound (self, CHAN_PROJECTILE, "weapons/electro_bounce.wav", VOL_BASE, ATTN_NORM);
 		self.projectiledeathtype |= HITTYPE_BOUNCE;
 	}
 }

Modified: trunk/data/qcsrc/server/w_grenadelauncher.qc
===================================================================
--- trunk/data/qcsrc/server/w_grenadelauncher.qc	2009-04-19 14:54:49 UTC (rev 6534)
+++ trunk/data/qcsrc/server/w_grenadelauncher.qc	2009-04-19 15:57:34 UTC (rev 6535)
@@ -44,17 +44,17 @@
 		float r;
 		r = random() * 6;
 		if(r < 1)
-			sound (self, CHAN_PROJECTILE, "weapons/grenade_bounce1.wav", VOL_BASE, ATTN_NORM);
+			spamsound (self, CHAN_PROJECTILE, "weapons/grenade_bounce1.wav", VOL_BASE, ATTN_NORM);
 		else if(r < 2)
-			sound (self, CHAN_PROJECTILE, "weapons/grenade_bounce2.wav", VOL_BASE, ATTN_NORM);
+			spamsound (self, CHAN_PROJECTILE, "weapons/grenade_bounce2.wav", VOL_BASE, ATTN_NORM);
 		else if(r < 3)
-			sound (self, CHAN_PROJECTILE, "weapons/grenade_bounce3.wav", VOL_BASE, ATTN_NORM);
+			spamsound (self, CHAN_PROJECTILE, "weapons/grenade_bounce3.wav", VOL_BASE, ATTN_NORM);
 		else if(r < 4)
-			sound (self, CHAN_PROJECTILE, "weapons/grenade_bounce4.wav", VOL_BASE, ATTN_NORM);
+			spamsound (self, CHAN_PROJECTILE, "weapons/grenade_bounce4.wav", VOL_BASE, ATTN_NORM);
 		else if(r < 5)
-			sound (self, CHAN_PROJECTILE, "weapons/grenade_bounce5.wav", VOL_BASE, ATTN_NORM);
+			spamsound (self, CHAN_PROJECTILE, "weapons/grenade_bounce5.wav", VOL_BASE, ATTN_NORM);
 		else
-			sound (self, CHAN_PROJECTILE, "weapons/grenade_bounce6.wav", VOL_BASE, ATTN_NORM);
+			spamsound (self, CHAN_PROJECTILE, "weapons/grenade_bounce6.wav", VOL_BASE, ATTN_NORM);
 		self.projectiledeathtype |= HITTYPE_BOUNCE;
 	}
 }

Modified: trunk/data/qcsrc/server/w_hagar.qc
===================================================================
--- trunk/data/qcsrc/server/w_hagar.qc	2009-04-19 14:54:49 UTC (rev 6534)
+++ trunk/data/qcsrc/server/w_hagar.qc	2009-04-19 15:57:34 UTC (rev 6535)
@@ -1,3 +1,4 @@
+// NO bounce protection, as bounces are limited!
 void W_Hagar_Explode (void)
 {
 	self.event_damage = SUB_Null;

Modified: trunk/data/qcsrc/server/w_porto.qc
===================================================================
--- trunk/data/qcsrc/server/w_porto.qc	2009-04-19 14:54:49 UTC (rev 6534)
+++ trunk/data/qcsrc/server/w_porto.qc	2009-04-19 15:57:34 UTC (rev 6535)
@@ -96,7 +96,7 @@
 	}
 	else if(trace_dphitq3surfaceflags & Q3SURFACEFLAG_SLICK || trace_dphitcontents & DPCONTENTS_PLAYERCLIP)
 	{
-		sound(self, CHAN_PROJECTILE, "porto/bounce.wav", VOL_BASE, ATTN_NORM);
+		spamsound(self, CHAN_PROJECTILE, "porto/bounce.wav", VOL_BASE, ATTN_NORM);
 		// just reflect
 		self.right_vector = self.right_vector - 2 * trace_plane_normal * (self.right_vector * trace_plane_normal);
 		self.angles = vectoangles(self.velocity - 2 * trace_plane_normal * (self.velocity * trace_plane_normal));

Modified: trunk/data/qcsrc/server/w_seeker.qc
===================================================================
--- trunk/data/qcsrc/server/w_seeker.qc	2009-04-19 14:54:49 UTC (rev 6534)
+++ trunk/data/qcsrc/server/w_seeker.qc	2009-04-19 15:57:34 UTC (rev 6535)
@@ -335,7 +335,7 @@
 	missile.flags       = FL_PROJECTILE;
 
 	missile.velocity    = w_shotdir  * cvar("g_balance_seeker_tag_speed");
-	missile.movetype    = MOVETYPE_BOUNCEMISSILE;
+	missile.movetype    = MOVETYPE_FLY;
 	W_SetupProjectileVelocity(missile);
 	missile.angles = vectoangles (missile.velocity);
 



More information about the nexuiz-commits mailing list