[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