-.float frame1time;
-.float lifetime, fadetime;
-.float teleport_time;
-.float scale1, scale2;
+#include "modeleffects.qh"
-void ModelEffect_Draw()
+.float cnt;
+.float scale;
+.float alpha;
+
+void ModelEffect_Draw(entity this)
{
self.angles = self.angles + frametime * self.avelocity;
- self.origin = self.origin + frametime * self.velocity;
+ setorigin(self, self.origin + frametime * self.velocity);
self.scale = self.scale1 + (self.scale2 - self.scale1) * (time - self.teleport_time) / (self.lifetime + self.fadetime - self.teleport_time);
self.alpha = self.cnt * bound(0, 1 - (time - self.lifetime) / self.fadetime, 1);
if(self.alpha < ALPHA_MIN_VISIBLE)
}
}
-void Ent_ModelEffect(float isNew)
-{
- float f;
- entity e;
-
+void Ent_ModelEffect(bool isNew)
+{SELFPARAM();
self.classname = "modeleffect_spawner";
- f = ReadByte();
+ int f = ReadByte();
- e = spawn();
+ entity e = spawn();
e.classname = "modeleffect";
e.model = "from network";
e.modelindex = ReadShort();
e.origin_x = ReadCoord();
e.origin_y = ReadCoord();
e.origin_z = ReadCoord();
+ setorigin(e, e.origin);
if(f & 1)
{
e.velocity_x = ReadCoord();