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