#include "g_subs.qh"
-#include "_all.qh"
#include "antilag.qh"
#include "command/common.qh"
-#include "../warpzonelib/common.qh"
+#include "../lib/warpzone/common.qh"
+#include "../common/triggers/subs.qh"
-void spawnfunc_info_null (void)
-{SELFPARAM();
+spawnfunc(info_null)
+{
remove(self);
// if anything breaks, tell the mapper to fix his map! info_null is meant to remove itself immediately.
}
-void setanim(entity e, vector anim, float looping, float override, float restart)
-{
- if (!anim)
- return; // no animation was given to us! We can't use this.
-
- if (anim.x == e.animstate_startframe)
- if (anim.y == e.animstate_numframes)
- if (anim.z == e.animstate_framerate)
- {
- if(restart)
- {
- if(restart > 0)
- if(anim.y == 1) // ZYM animation
- BITXOR_ASSIGN(e.effects, EF_RESTARTANIM_BIT);
- }
- else
- return;
- }
- e.animstate_startframe = anim.x;
- e.animstate_numframes = anim.y;
- e.animstate_framerate = anim.z;
- e.animstate_starttime = servertime - 0.1 * serverframetime; // shift it a little bit into the past to prevent float inaccuracy hiccups
- e.animstate_endtime = e.animstate_starttime + e.animstate_numframes / e.animstate_framerate;
- e.animstate_looping = looping;
- e.animstate_override = override;
- e.frame = e.animstate_startframe;
- e.frame1time = servertime;
-}
-
-void updateanim(entity e)
-{
- if (time >= e.animstate_endtime)
- {
- if (e.animstate_looping)
- {
- e.animstate_starttime = e.animstate_endtime;
- e.animstate_endtime = e.animstate_starttime + e.animstate_numframes / e.animstate_framerate;
- }
- e.animstate_override = false;
- }
- e.frame = e.animstate_startframe + bound(0, (time - e.animstate_starttime) * e.animstate_framerate, e.animstate_numframes - 1);
- //print(ftos(time), " -> ", ftos(e.frame), "\n");
-}
-
/*
==================
main
================
*/
-void SetMovedir()
-{SELFPARAM();
- if (self.movedir != '0 0 0')
- self.movedir = normalize(self.movedir);
+void SetMovedir(entity this)
+{
+ if(this.movedir != '0 0 0')
+ this.movedir = normalize(this.movedir);
else
{
- makevectors (self.angles);
- self.movedir = v_forward;
+ makevectors(this.angles);
+ this.movedir = v_forward;
}
- self.angles = '0 0 0';
+ this.angles = '0 0 0';
}
void InitTrigger()
{SELFPARAM();
// trigger angles are used for one-way touches. An angle of 0 is assumed
// to mean no restrictions, so use a yaw of 360 instead.
- SetMovedir ();
+ SetMovedir(self);
self.solid = SOLID_TRIGGER;
SetBrushEntityModel();
self.movetype = MOVETYPE_NONE;
{SELFPARAM();
// trigger angles are used for one-way touches. An angle of 0 is assumed
// to mean no restrictions, so use a yaw of 360 instead.
- SetMovedir ();
+ SetMovedir(self);
self.solid = SOLID_BSP;
SetBrushEntityModel();
self.movetype = MOVETYPE_NONE; // why was this PUSH? -div0