r5634 - trunk/data/qcsrc/server
DONOTREPLY at icculus.org
DONOTREPLY at icculus.org
Thu Jan 22 07:54:13 EST 2009
Author: div0
Date: 2009-01-22 07:54:13 -0500 (Thu, 22 Jan 2009)
New Revision: 5634
Modified:
trunk/data/qcsrc/server/arena.qc
trunk/data/qcsrc/server/assault.qc
trunk/data/qcsrc/server/cl_player.qc
trunk/data/qcsrc/server/defs.qh
trunk/data/qcsrc/server/g_triggers.qc
trunk/data/qcsrc/server/t_items.qc
Log:
more self-resetting
Modified: trunk/data/qcsrc/server/arena.qc
===================================================================
--- trunk/data/qcsrc/server/arena.qc 2009-01-22 12:45:41 UTC (rev 5633)
+++ trunk/data/qcsrc/server/arena.qc 2009-01-22 12:54:13 UTC (rev 5634)
@@ -50,30 +50,8 @@
if(self.team_saved)
self.team = self.team_saved;
- if(self.classname == "droppedweapon" // cleanup
- || self.classname == "gib"
- || self.classname == "body")
+ if(self.flags & FL_PROJECTILE) // remove any projectiles left
{
- remove(self);
- }
- else if(self.flags & FL_ITEM) // reset items
- {
- if(self.state == 1)
- {
- self.model = string_null;
- self.solid = SOLID_NOT;
- }
- else
- {
- self.model = self.mdl;
- self.solid = SOLID_TRIGGER;
- }
- setorigin (self, self.origin);
- self.think = SUB_Null;
- self.nextthink = 0;
- }
- else if(self.flags & FL_PROJECTILE) // remove any projectiles left
- {
stopsound(self, CHAN_PAIN);
remove(self);
}
@@ -83,25 +61,17 @@
for(self = world; (self = nextent(self)); )
if(clienttype(self) == CLIENTTYPE_NOTACLIENT)
{
+ if(self.reset2)
+ {
+ self.reset2();
+ continue;
+ }
+
if(self.classname == "sprite_waypoint")
{
- if(self.health || g_keyhunt)
+ if(self.health || g_keyhunt) // TODO remove this KH workaround somehow
WaypointSprite_Kill(self);
}
- else if(self.classname == "target_assault_roundstart")
- {
- self.use();
- }
- else if(self.classname == "trigger_gamestart")
- {
- if(self.wait)
- {
- self.think = self.use;
- self.nextthink = game_starttime + self.wait;
- }
- else
- self.use();
- }
}
// Moving the player reset code here since the player-reset depends
Modified: trunk/data/qcsrc/server/assault.qc
===================================================================
--- trunk/data/qcsrc/server/assault.qc 2009-01-22 12:45:41 UTC (rev 5633)
+++ trunk/data/qcsrc/server/assault.qc 2009-01-22 12:54:13 UTC (rev 5634)
@@ -253,6 +253,7 @@
assault_attacker_team = COLOR_TEAM1;
self.classname = "target_assault_roundstart";
self.use = assault_roundstart_use;
+ self.reset2 = assault_roundstart_use;
InitializeEntity(self, assault_roundstart_use, INITPRIO_FINDTARGET);
}
Modified: trunk/data/qcsrc/server/cl_player.qc
===================================================================
--- trunk/data/qcsrc/server/cl_player.qc 2009-01-22 12:45:41 UTC (rev 5633)
+++ trunk/data/qcsrc/server/cl_player.qc 2009-01-22 12:54:13 UTC (rev 5634)
@@ -61,6 +61,7 @@
setorigin(self, oldself.origin);
setsize(self, oldself.mins, oldself.maxs);
self.oldorigin = oldself.origin;
+ self.reset = SUB_Remove;
self = oldself;
}
Modified: trunk/data/qcsrc/server/defs.qh
===================================================================
--- trunk/data/qcsrc/server/defs.qh 2009-01-22 12:45:41 UTC (rev 5633)
+++ trunk/data/qcsrc/server/defs.qh 2009-01-22 12:54:13 UTC (rev 5634)
@@ -528,3 +528,4 @@
void SUB_UseTargets();
.void() reset; // if set, an entity is reset using this
+.void() reset2; // if set, an entity is reset using this (after calling ALL the reset functions for other entities)
Modified: trunk/data/qcsrc/server/g_triggers.qc
===================================================================
--- trunk/data/qcsrc/server/g_triggers.qc 2009-01-22 12:45:41 UTC (rev 5633)
+++ trunk/data/qcsrc/server/g_triggers.qc 2009-01-22 12:54:13 UTC (rev 5634)
@@ -1393,6 +1393,7 @@
void spawnfunc_trigger_gamestart() {
self.use = gamestart_use;
+ self.reset2 = spawnfunc_trigger_gamestart;
if(self.wait)
{
Modified: trunk/data/qcsrc/server/t_items.qc
===================================================================
--- trunk/data/qcsrc/server/t_items.qc 2009-01-22 12:45:41 UTC (rev 5633)
+++ trunk/data/qcsrc/server/t_items.qc 2009-01-22 12:54:13 UTC (rev 5634)
@@ -295,6 +295,23 @@
}
}
+void Item_Reset()
+{
+ if(self.state == 1)
+ {
+ self.model = string_null;
+ self.solid = SOLID_NOT;
+ }
+ else
+ {
+ self.model = self.mdl;
+ self.solid = SOLID_TRIGGER;
+ }
+ setorigin (self, self.origin);
+ self.think = SUB_Null;
+ self.nextthink = 0;
+}
+
// Savage: used for item garbage-collection
// TODO: perhaps nice special effect?
void RemoveItem(void)
@@ -353,6 +370,7 @@
// is it a dropped weapon?
if (self.classname == "droppedweapon")
{
+ self.reset = SUB_Remove;
// it's a dropped weapon
self.movetype = MOVETYPE_TOSS;
self.solid = SOLID_TRIGGER;
@@ -370,6 +388,7 @@
}
else
{
+ self.reset = Item_Reset;
// it's a level item
if(self.spawnflags & 1)
self.noalign = 1;
More information about the nexuiz-commits
mailing list