]> git.xonotic.org Git - xonotic/xonotic-data.pk3dir.git/commitdiff
add a new antilag_takebackavgvelocity function to return the average velocity over...
authorRudolf Polzer <divverent@alientrap.org>
Sat, 14 Aug 2010 19:53:03 +0000 (21:53 +0200)
committerRudolf Polzer <divverent@alientrap.org>
Sat, 14 Aug 2010 19:53:03 +0000 (21:53 +0200)
qcsrc/server/antilag.qc
qcsrc/server/antilag.qh

index 8b1dc6de1dbd637c622879cca3007e3462a519b3..644a0234463cb92f4a6eb938b65850f8e53cbb09 100644 (file)
@@ -49,7 +49,7 @@ float antilag_find(entity e, float t)
        return -1;
 }
 
-vector lerp(float t0, vector v0, float t1, vector v1, float t)
+vector lerpv(float t0, vector v0, float t1, vector v1, float t)
 {
        return v0 + (v1 - v0) * ((t - t0) / (t1 - t0));
 }
@@ -69,7 +69,17 @@ vector antilag_takebackorigin(entity e, float t)
        if(i1 >= ANTILAG_MAX_ORIGINS)
                i1 = 0;
 
-       return lerp(e.(antilag_times[i0]), e.(antilag_origins[i0]), e.(antilag_times[i1]), e.(antilag_origins[i1]), t);
+       return lerpv(e.(antilag_times[i0]), e.(antilag_origins[i0]), e.(antilag_times[i1]), e.(antilag_origins[i1]), t);
+}
+
+vector antilag_takebackavgvelocity(entity e, float t0, float t1)
+{
+       vector o0, o1;
+       if(t0 == t1)
+               return '0 0 0';
+       o0 = antilag_takebackorigin(e, t0);
+       o1 = antilag_takebackorigin(e, t1);
+       return (o1 - o0) * (1 / (t1 - t0));
 }
 
 void antilag_takeback(entity e, float t)
index d4ed9118e8583ddd53b9f37a4220689d245b3911..2a7343243dd6e4dc7cfd80d2cd2bd6394928197e 100644 (file)
@@ -1,6 +1,7 @@
 void antilag_record(entity e, float t);
 float antilag_find(entity e, float t);
 vector antilag_takebackorigin(entity e, float t);
+vector antilag_takebackavgvelocity(entity e, float t0, float t1);
 void antilag_takeback(entity e, float t);
 void antilag_restore(entity e);