[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