r2323 - in trunk/data: . qcsrc/server
DONOTREPLY at icculus.org
DONOTREPLY at icculus.org
Mon Apr 16 05:23:28 EDT 2007
Author: div0
Date: 2007-04-16 05:23:28 -0400 (Mon, 16 Apr 2007)
New Revision: 2323
Modified:
trunk/data/default.cfg
trunk/data/qcsrc/server/defs.qh
trunk/data/qcsrc/server/g_damage.qc
trunk/data/qcsrc/server/g_world.qc
trunk/data/qcsrc/server/w_common.qc
trunk/data/qcsrc/server/waypointsprites.qc
Log:
no setorigin in waypoint sprites (havoc);
only one hit sound per player per frame (Dresk)
Modified: trunk/data/default.cfg
===================================================================
--- trunk/data/default.cfg 2007-04-16 09:20:02 UTC (rev 2322)
+++ trunk/data/default.cfg 2007-04-16 09:23:28 UTC (rev 2323)
@@ -682,7 +682,7 @@
set g_waypointsprite_distancealphaexponent 2
set g_waypointsprite_timealphaexponent 1
set g_waypointsprite_deployed_lifetime 10
-set g_waypointsprite_deadlifetime 2
+set g_waypointsprite_deadlifetime 1
set g_waypointsprite_limitedrange 5120
set g_waypointsprite_stuffbinds 0
alias "g_waypointsprite_personal" "impulse 30"
Modified: trunk/data/qcsrc/server/defs.qh
===================================================================
--- trunk/data/qcsrc/server/defs.qh 2007-04-16 09:20:02 UTC (rev 2322)
+++ trunk/data/qcsrc/server/defs.qh 2007-04-16 09:23:28 UTC (rev 2323)
@@ -93,6 +93,7 @@
.float dmgtime;
.float killcount;
+.float hitsound;
.float watersound_finished;
.float iscreature;
Modified: trunk/data/qcsrc/server/g_damage.qc
===================================================================
--- trunk/data/qcsrc/server/g_damage.qc 2007-04-16 09:20:02 UTC (rev 2322)
+++ trunk/data/qcsrc/server/g_damage.qc 2007-04-16 09:23:28 UTC (rev 2323)
@@ -394,9 +394,9 @@
if(targ != attacker)
if(!targ.deadflag)
if(damage > 0)
- if(clienttype(attacker) == CLIENTTYPE_REAL)
if(targ.classname == "player")
- stuffcmd(attacker, "play2 misc/hit.wav\n");
+ if(attacker)
+ attacker.hitsound += 1;
if (cvar("g_minstagib"))
{
@@ -410,8 +410,7 @@
targ.armorvalue -= 1;
centerprint(targ, strcat("^3Remaining extra lives: ",ftos(targ.armorvalue),"\n"));
damage = 0;
- if(clienttype(targ) == CLIENTTYPE_REAL) stuffcmd(targ, "play2 misc/hit.wav\n");
- //stuffcmd(attacker, "play2 misc/hit.wav\n");
+ targ.hitsound += 1;
}
else if (deathtype == IT_NEX && targ.items & IT_STRENGTH)
{
@@ -547,7 +546,7 @@
{
attacker.armorvalue = attacker.armorvalue - 1;
centerprint(attacker, strcat("^3Remaining extra lives: ",ftos(attacker.armorvalue),"\n"));
- if(clienttype(attacker) == CLIENTTYPE_REAL) stuffcmd(attacker, "play2 misc/hit.wav\n");
+ attacker.hitsound += 1;
}
mirrordamage = 0;
}
Modified: trunk/data/qcsrc/server/g_world.qc
===================================================================
--- trunk/data/qcsrc/server/g_world.qc 2007-04-16 09:20:02 UTC (rev 2322)
+++ trunk/data/qcsrc/server/g_world.qc 2007-04-16 09:23:28 UTC (rev 2323)
@@ -1929,4 +1929,10 @@
void EndFrame()
{
+ FOR_EACH_REALCLIENT(self)
+ if(self.hitsound)
+ {
+ stuffcmd(self, "play2 misc/hit.wav\n");
+ self.hitsound = FALSE;
+ }
}
Modified: trunk/data/qcsrc/server/w_common.qc
===================================================================
--- trunk/data/qcsrc/server/w_common.qc 2007-04-16 09:20:02 UTC (rev 2322)
+++ trunk/data/qcsrc/server/w_common.qc 2007-04-16 09:23:28 UTC (rev 2323)
@@ -167,9 +167,6 @@
else
te_spike (trace_endpos);
}
- //else if (trace_ent.classname == "player" || trace_ent.classname == "corpse" || trace_ent.classname == "gib")
- //stuffcmd(self, "play2 misc/hit.wav\n");
- //sound (self, CHAN_BODY, "misc/hit.wav", 1, ATTN_NORM);
Damage (trace_ent, self, self, damage, dtype, trace_endpos, dir * force);
}
}
Modified: trunk/data/qcsrc/server/waypointsprites.qc
===================================================================
--- trunk/data/qcsrc/server/waypointsprites.qc 2007-04-16 09:20:02 UTC (rev 2322)
+++ trunk/data/qcsrc/server/waypointsprites.qc 2007-04-16 09:23:28 UTC (rev 2323)
@@ -51,10 +51,11 @@
return;
if(wp.owner)
{
- if(wp.aiment == wp.owner)
+ if(wp.exteriormodeltoclient == wp.owner)
{
- wp.view_ofs = wp.view_ofs + wp.aiment.origin;
- wp.aiment = world;
+ setattachment(wp, world, "");
+ setorigin(wp, wp.origin + wp.exteriormodeltoclient.origin);
+ wp.exteriormodeltoclient = world;
}
wp.owner.(wp.owned_by_field) = world;
wp.owner = world;
@@ -121,18 +122,12 @@
return FALSE;
}
- // do not draw to yourself when attached
- if(self.aiment)
- if(other == self.aiment)
- return FALSE;
-
if(self.currentammo) // hidable?
if(other.cvar_cl_hidewaypoints) // wants to hide;
return FALSE;
porigin = other.origin + other.view_ofs_z * '0 0 1';
- realorigin = self.aiment.origin + self.view_ofs;
- self.origin = realorigin;
+ realorigin = self.exteriormodeltoclient.origin + self.origin;
distance = vlen(realorigin - porigin);
@@ -180,8 +175,15 @@
wp.classname = "sprite_waypoint";
wp.teleport_time = time + lifetime;
wp.health = lifetime;
- wp.view_ofs = ofs;
- wp.aiment = ref;
+ wp.exteriormodeltoclient = ref;
+ if(ref)
+ {
+ setattachment(wp, ref, "");
+ setorigin(wp, ofs);
+ wp.origin = ofs;
+ }
+ else
+ setorigin(wp, ofs);
wp.enemy = showto;
wp.team = t;
wp.owner = own;
@@ -270,7 +272,7 @@
void WaypointSprite_DetachCarrier(entity carrier)
{
- WaypointSprite_Disown(carrier.waypointsprite_attachedforcarrier, 1);
+ WaypointSprite_Disown(carrier.waypointsprite_attachedforcarrier, waypointsprite_deadlifetime);
}
void WaypointSprite_ClearPersonal()
More information about the nexuiz-commits
mailing list