X-Git-Url: http://de.git.xonotic.org/?a=blobdiff_plain;ds=sidebyside;f=qcsrc%2Fserver%2Fantilag.qc;h=8a628a1bea91e1c5f9e5d5158b176b3eeedfad91;hb=d74a5ec398a8e1a1e80d1f82a08f35f69724de5f;hp=8b1dc6de1dbd637c622879cca3007e3462a519b3;hpb=0e7ed909bffb4ff21f0c68d163edfc17487e380a;p=xonotic%2Fxonotic-data.pk3dir.git diff --git a/qcsrc/server/antilag.qc b/qcsrc/server/antilag.qc index 8b1dc6de1..8a628a1be 100644 --- a/qcsrc/server/antilag.qc +++ b/qcsrc/server/antilag.qc @@ -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)