[nexuiz-commits] r6540 - in branches/nexuiz-2.0: . data/qcsrc/client data/qcsrc/common data/qcsrc/server

DONOTREPLY at icculus.org DONOTREPLY at icculus.org
Sun Apr 19 15:27:04 EDT 2009


Author: div0
Date: 2009-04-19 15:27:03 -0400 (Sun, 19 Apr 2009)
New Revision: 6540

Modified:
   branches/nexuiz-2.0/.patchsets
   branches/nexuiz-2.0/data/qcsrc/client/projectile.qc
   branches/nexuiz-2.0/data/qcsrc/common/constants.qh
   branches/nexuiz-2.0/data/qcsrc/server/miscfunctions.qc
   branches/nexuiz-2.0/data/qcsrc/server/w_crylink.qc
   branches/nexuiz-2.0/data/qcsrc/server/w_electro.qc
   branches/nexuiz-2.0/data/qcsrc/server/w_grenadelauncher.qc
   branches/nexuiz-2.0/data/qcsrc/server/w_hagar.qc
   branches/nexuiz-2.0/data/qcsrc/server/w_porto.qc
   branches/nexuiz-2.0/data/qcsrc/server/w_seeker.qc
Log:
r6533 | esteel | 2009-04-19 16:51:13 +0200 (Sun, 19 Apr 2009) | 1 line
update crylink projectiles on bouce, we wanna still see them afterwards
r6534 | div0 | 2009-04-19 16:54:49 +0200 (Sun, 19 Apr 2009) | 2 lines
properly transmit whether crylink projectiles are bouncing or not
r6535 | div0 | 2009-04-19 17:57:34 +0200 (Sun, 19 Apr 2009) | 2 lines
fix sound spam issue with projectiles stuck on jumppads
r6536 | div0 | 2009-04-19 18:16:12 +0200 (Sun, 19 Apr 2009) | 2 lines
add return value to spamsound()


Modified: branches/nexuiz-2.0/.patchsets
===================================================================
--- branches/nexuiz-2.0/.patchsets	2009-04-19 19:04:32 UTC (rev 6539)
+++ branches/nexuiz-2.0/.patchsets	2009-04-19 19:27:03 UTC (rev 6540)
@@ -1,2 +1,2 @@
 master = svn://svn.icculus.org/nexuiz/trunk
-revisions_applied = 1-6531
+revisions_applied = 1-6536

Modified: branches/nexuiz-2.0/data/qcsrc/client/projectile.qc
===================================================================
--- branches/nexuiz-2.0/data/qcsrc/client/projectile.qc	2009-04-19 19:04:32 UTC (rev 6539)
+++ branches/nexuiz-2.0/data/qcsrc/client/projectile.qc	2009-04-19 19:27:03 UTC (rev 6540)
@@ -256,6 +256,7 @@
 			case PROJECTILE_BULLET: setmodel(self, "models/tracer.mdl"); break;
 			case PROJECTILE_BULLET_GLOWING: setmodel(self, "models/tracer.mdl"); break;
 			case PROJECTILE_CRYLINK: setmodel(self, "models/plasmatrail.mdl"); break;
+			case PROJECTILE_CRYLINK_BOUNCING: setmodel(self, "models/plasmatrail.mdl"); break;
 			case PROJECTILE_ELECTRO_BEAM: setmodel(self, "models/elaser.mdl"); break;
 			case PROJECTILE_GRENADE: setmodel(self, "models/grenademodel.md3"); break;
 			case PROJECTILE_GRENADE_BOUNCING: setmodel(self, "models/grenademodel.md3"); break;
@@ -325,6 +326,10 @@
 				self.move_movetype = MOVETYPE_BOUNCE;
 				self.move_touch = SUB_Null;
 				break;
+			case PROJECTILE_CRYLINK_BOUNCING:
+				self.move_movetype = MOVETYPE_BOUNCE;
+				self.move_touch = SUB_Null;
+				break;
 			default:
 				break;
 		}

Modified: branches/nexuiz-2.0/data/qcsrc/common/constants.qh
===================================================================
--- branches/nexuiz-2.0/data/qcsrc/common/constants.qh	2009-04-19 19:04:32 UTC (rev 6539)
+++ branches/nexuiz-2.0/data/qcsrc/common/constants.qh	2009-04-19 19:27:03 UTC (rev 6540)
@@ -375,6 +375,7 @@
 float PROJECTILE_HAGAR = 16;
 float PROJECTILE_HAGAR_BOUNCING = 17;
 float PROJECTILE_BULLET_GLOWING = 18;
+float PROJECTILE_CRYLINK_BOUNCING = 19;
 
 // Deathtypes (weapon deathtypes are the IT_* constants below)
 // NOTE: when adding death types, please add an explanation to Docs/spamlog.txt too.

Modified: branches/nexuiz-2.0/data/qcsrc/server/miscfunctions.qc
===================================================================
--- branches/nexuiz-2.0/data/qcsrc/server/miscfunctions.qc	2009-04-19 19:04:32 UTC (rev 6539)
+++ branches/nexuiz-2.0/data/qcsrc/server/miscfunctions.qc	2009-04-19 19:27:03 UTC (rev 6540)
@@ -1258,6 +1258,17 @@
 	}
 	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);
+		return TRUE;
+	}
+	return FALSE;
+}
 
 void play2team(float t, string filename)
 {

Modified: branches/nexuiz-2.0/data/qcsrc/server/w_crylink.qc
===================================================================
--- branches/nexuiz-2.0/data/qcsrc/server/w_crylink.qc	2009-04-19 19:04:32 UTC (rev 6539)
+++ branches/nexuiz-2.0/data/qcsrc/server/w_crylink.qc	2009-04-19 19:27:03 UTC (rev 6540)
@@ -2,6 +2,7 @@
 
 .entity realowner;
 
+// NO bounce protection, as bounces are limited!
 void W_Crylink_Touch (void)
 {
 	float finalhit;
@@ -24,7 +25,9 @@
 	self.angles = vectoangles(self.velocity);
 	self.owner = world;
 	self.projectiledeathtype |= HITTYPE_BOUNCE;
-	//self.scale = 1 + self.cnt;
+	// commented out as it causes a little hitch...
+	//if(proj.cnt == 0)
+	//	CSQCProjectile(proj, TRUE, PROJECTILE_CRYLINK, TRUE);
 }
 
 void W_Crylink_Touch2 (void)
@@ -49,7 +52,9 @@
 	self.angles = vectoangles(self.velocity);
 	self.owner = world;
 	self.projectiledeathtype |= HITTYPE_BOUNCE;
-//	self.scale = 1 + 1 * self.cnt;
+	// commented out as it causes a little hitch...
+	//if(proj.cnt == 0)
+	//	CSQCProjectile(proj, TRUE, PROJECTILE_CRYLINK, TRUE);
 }
 
 void W_Crylink_Attack (void)
@@ -114,7 +119,7 @@
 
 		proj.flags = FL_PROJECTILE;
 
-		CSQCProjectile(proj, TRUE, PROJECTILE_CRYLINK, TRUE);
+		CSQCProjectile(proj, TRUE, (proj.cnt ? PROJECTILE_CRYLINK_BOUNCING : PROJECTILE_CRYLINK), TRUE);
 
 		counter = counter + 1;
 	}
@@ -163,7 +168,7 @@
 
 		proj.flags = FL_PROJECTILE;
 
-		CSQCProjectile(proj, TRUE, PROJECTILE_CRYLINK, TRUE);
+		CSQCProjectile(proj, TRUE, (proj.cnt ? PROJECTILE_CRYLINK_BOUNCING : PROJECTILE_CRYLINK), TRUE);
 
 		counter = counter + 1;
 	}

Modified: branches/nexuiz-2.0/data/qcsrc/server/w_electro.qc
===================================================================
--- branches/nexuiz-2.0/data/qcsrc/server/w_electro.qc	2009-04-19 19:04:32 UTC (rev 6539)
+++ branches/nexuiz-2.0/data/qcsrc/server/w_electro.qc	2009-04-19 19:27:03 UTC (rev 6540)
@@ -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: branches/nexuiz-2.0/data/qcsrc/server/w_grenadelauncher.qc
===================================================================
--- branches/nexuiz-2.0/data/qcsrc/server/w_grenadelauncher.qc	2009-04-19 19:04:32 UTC (rev 6539)
+++ branches/nexuiz-2.0/data/qcsrc/server/w_grenadelauncher.qc	2009-04-19 19:27:03 UTC (rev 6540)
@@ -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: branches/nexuiz-2.0/data/qcsrc/server/w_hagar.qc
===================================================================
--- branches/nexuiz-2.0/data/qcsrc/server/w_hagar.qc	2009-04-19 19:04:32 UTC (rev 6539)
+++ branches/nexuiz-2.0/data/qcsrc/server/w_hagar.qc	2009-04-19 19:27:03 UTC (rev 6540)
@@ -1,3 +1,4 @@
+// NO bounce protection, as bounces are limited!
 void W_Hagar_Explode (void)
 {
 	self.event_damage = SUB_Null;

Modified: branches/nexuiz-2.0/data/qcsrc/server/w_porto.qc
===================================================================
--- branches/nexuiz-2.0/data/qcsrc/server/w_porto.qc	2009-04-19 19:04:32 UTC (rev 6539)
+++ branches/nexuiz-2.0/data/qcsrc/server/w_porto.qc	2009-04-19 19:27:03 UTC (rev 6540)
@@ -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: branches/nexuiz-2.0/data/qcsrc/server/w_seeker.qc
===================================================================
--- branches/nexuiz-2.0/data/qcsrc/server/w_seeker.qc	2009-04-19 19:04:32 UTC (rev 6539)
+++ branches/nexuiz-2.0/data/qcsrc/server/w_seeker.qc	2009-04-19 19:27:03 UTC (rev 6540)
@@ -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