[nexuiz-commits] r8318 - trunk/data/qcsrc/server
DONOTREPLY at icculus.org
DONOTREPLY at icculus.org
Mon Nov 23 02:54:22 EST 2009
Author: div0
Date: 2009-11-23 02:54:22 -0500 (Mon, 23 Nov 2009)
New Revision: 8318
Modified:
trunk/data/qcsrc/server/w_tuba.qc
Log:
reduce tuba bandwidth even more
Modified: trunk/data/qcsrc/server/w_tuba.qc
===================================================================
--- trunk/data/qcsrc/server/w_tuba.qc 2009-11-23 07:01:10 UTC (rev 8317)
+++ trunk/data/qcsrc/server/w_tuba.qc 2009-11-23 07:54:22 UTC (rev 8318)
@@ -85,17 +85,42 @@
void W_Tuba_NoteThink()
{
- self.nextthink = time;
- if(self.owner.origin != self.origin)
- {
- setorigin(self, self.owner.origin);
- self.SendFlags |= 1;
- }
+ float needchange, dist_mult;
+ float vol0, vol1;
+ vector dir0, dir1;
+ vector v;
+ entity e;
if(time > self.teleport_time)
{
self.owner.tuba_note = world;
remove(self);
+ return;
}
+ self.nextthink = time;
+ dist_mult = cvar("g_balance_tuba_attenuation") / cvar("snd_soundradius");
+ needchange = 0;
+ FOR_EACH_REALCLIENT(e)
+ if(e != self.owner)
+ {
+ v = self.origin - (e.origin + e.view_ofs);
+ vol0 = max(0, 1 - vlen(v) * dist_mult);
+ dir0 = normalize(v);
+ v = self.owner.origin - (e.origin + e.view_ofs);
+ vol1 = max(0, 1 - vlen(v) * dist_mult);
+ dir1 = normalize(v);
+ if(fabs(vol0 - vol1) > 0.005) // 0.5 percent change in volume
+ {
+ setorigin(self, self.owner.origin);
+ self.SendFlags |= 1;
+ break;
+ }
+ if(dir0 * dir1 < 0.9994) // 2 degrees change in angle
+ {
+ setorigin(self, self.owner.origin);
+ self.SendFlags |= 1;
+ break;
+ }
+ }
}
void W_Tuba_Attack(float hittype)
More information about the nexuiz-commits
mailing list