r4227 - trunk/data/qcsrc/server

DONOTREPLY at icculus.org DONOTREPLY at icculus.org
Fri Aug 29 02:13:22 EDT 2008


Author: div0
Date: 2008-08-29 02:13:22 -0400 (Fri, 29 Aug 2008)
New Revision: 4227

Modified:
   trunk/data/qcsrc/server/g_triggers.qc
   trunk/data/qcsrc/server/miscfunctions.qc
   trunk/data/qcsrc/server/t_plats.qc
Log:
make doors/plats not change their position in the spawn function (but defer that). Helps with attaching misc_follow.


Modified: trunk/data/qcsrc/server/g_triggers.qc
===================================================================
--- trunk/data/qcsrc/server/g_triggers.qc	2008-08-29 06:07:32 UTC (rev 4226)
+++ trunk/data/qcsrc/server/g_triggers.qc	2008-08-29 06:13:22 UTC (rev 4227)
@@ -257,6 +257,7 @@
 		if ( !(self.spawnflags & SPAWNFLAG_NOTOUCH) )
 		{
 			self.touch = multi_touch;
+			setorigin (self, self.origin);	// make sure it links into the world
 		}
 	}
 };

Modified: trunk/data/qcsrc/server/miscfunctions.qc
===================================================================
--- trunk/data/qcsrc/server/miscfunctions.qc	2008-08-29 06:07:32 UTC (rev 4226)
+++ trunk/data/qcsrc/server/miscfunctions.qc	2008-08-29 06:13:22 UTC (rev 4227)
@@ -1196,6 +1196,7 @@
 #define INITPRIO_GAMETYPE_FALLBACK  1
 #define INITPRIO_FINDTARGET        10
 #define INITPRIO_SETLOCATION       90
+#define INITPRIO_LINKDOORS         91
 #define INITPRIO_LAST              99
 
 .void(void) initialize_entity;

Modified: trunk/data/qcsrc/server/t_plats.qc
===================================================================
--- trunk/data/qcsrc/server/t_plats.qc	2008-08-29 06:07:32 UTC (rev 4226)
+++ trunk/data/qcsrc/server/t_plats.qc	2008-08-29 06:13:22 UTC (rev 4227)
@@ -140,6 +140,11 @@
 	plat_go_down();
 };
 
+void plat_init_movedown()
+{
+	setorigin (self, self.pos2);
+	self.state = 2;
+}
 
 .string sound1, sound2;
 
@@ -214,10 +219,7 @@
 		self.use = plat_use;
 	}
 	else
-	{
-		setorigin (self, self.pos2);
-		self.state = 2;
-	}
+		InitializeEntity(self, plat_init_movedown, INITPRIO_SETLOCATION);
 };
 
 
@@ -961,6 +963,13 @@
 
 */
 
+void door_init_startopen()
+{
+	setorigin (self, self.pos2);
+	self.pos2 = self.pos1;
+	self.pos1 = self.origin;
+}
+
 void spawnfunc_func_door()
 {
 	//if (!self.deathtype) // map makers can override this
@@ -1006,11 +1015,7 @@
 // DOOR_START_OPEN is to allow an entity to be lighted in the closed position
 // but spawn in the open position
 	if (self.spawnflags & DOOR_START_OPEN)
-	{
-		setorigin (self, self.pos2);
-		self.pos2 = self.pos1;
-		self.pos1 = self.origin;
-	}
+		InitializeEntity(self, door_init_startopen, INITPRIO_SETLOCATION);
 
 	self.state = STATE_BOTTOM;
 
@@ -1027,7 +1032,7 @@
 
 // LinkDoors can't be done until all of the doors have been spawned, so
 // the sizes can be detected properly.
-	InitializeEntity(self, LinkDoors, INITPRIO_FINDTARGET);
+	InitializeEntity(self, LinkDoors, INITPRIO_LINKDOORS);
 };
 
 /*




More information about the nexuiz-commits mailing list