]> de.git.xonotic.org Git - xonotic/xonotic-data.pk3dir.git/blobdiff - qcsrc/server/g_subs.qc
Add a TODO for reading species client-side
[xonotic/xonotic-data.pk3dir.git] / qcsrc / server / g_subs.qc
index a331da4f0961676e43a7d0ab90f76b6059322861..e119e5aba40040a359eca73d26d6a909f6f5d128 100644 (file)
@@ -71,24 +71,6 @@ vector animfixfps(entity e, vector a)
        return a;
 }
 
-vector animfixfps2(entity e, vector a, vector b)
-{
-       // multi-frame anim: keep as-is
-       float dur;
-       dur = frameduration(e.modelindex, a_x);
-       if(dur <= 0)
-       {
-               a = b;
-               dur = frameduration(e.modelindex, a_x);
-       }
-       if(a_y == 1)
-       {
-               if(dur > 0)
-                       a_z = 1.0 / dur;
-       }
-       return a;
-}
-
 /*
 ==================
 SUB_Remove
@@ -128,7 +110,7 @@ void SUB_VanishOrRemove (entity ent)
        if (ent.flags & FL_CLIENT)
        {
                // vanish
-               ent.model = "";
+               ent.alpha = -1;
                ent.effects = 0;
                ent.glow_size = 0;
                ent.pflags = 0;
@@ -142,12 +124,15 @@ void SUB_VanishOrRemove (entity ent)
 
 void SUB_SetFade_Think (void)
 {
+       if(self.alpha == 0)
+               self.alpha = 1;
        self.think = SUB_SetFade_Think;
-       self.nextthink = self.fade_time;
-       self.alpha = 1 - (time - self.fade_time) * self.fade_rate;
+       self.nextthink = time;
+       self.alpha -= frametime * self.fade_rate;
        if (self.alpha < 0.01)
                SUB_VanishOrRemove(self);
-       self.alpha = bound(0.01, self.alpha, 1);
+       else
+               self.nextthink = time;
 }
 
 /*
@@ -163,7 +148,6 @@ void SUB_SetFade (entity ent, float when, float fadetime)
        //      return;
        //ent.alpha = 1;
        ent.fade_rate = 1/fadetime;
-       ent.fade_time = when;
        ent.think = SUB_SetFade_Think;
        ent.nextthink = when;
 }