X-Git-Url: https://de.git.xonotic.org/?a=blobdiff_plain;f=qcsrc%2Fserver%2Fantilag.qh;h=ed8f6b3306204a36f3e8c8b38231351895a56a26;hb=17fd0adc9434cde385b78d09196aed727b24b9c4;hp=e1123e786e6db126f17ff0923f5a891d94fc6fde;hpb=d1ec6cd7b36e2c16817720fe5cce775fc3d26357;p=xonotic%2Fxonotic-data.pk3dir.git diff --git a/qcsrc/server/antilag.qh b/qcsrc/server/antilag.qh index e1123e786..ed8f6b330 100644 --- a/qcsrc/server/antilag.qh +++ b/qcsrc/server/antilag.qh @@ -1,15 +1,36 @@ -#ifndef ANTILAG_H -#define ANTILAG_H +#pragma once -void antilag_record(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); -void antilag_clear(entity e); +int autocvar_g_antilag; +float autocvar_g_antilag_nudge; + +void antilag_record(entity e, entity store, float t); +vector antilag_takebackorigin(entity e, entity store, float t); +void antilag_takeback(entity e, entity store, float t); +void antilag_restore(entity e, entity store); +void antilag_clear(entity e, entity store); + +void antilag_takeback_all(entity ignore, float lag); +void antilag_restore_all(entity ignore); + +float antilag_getlag(entity e); // returns antilag latency for clients, plus any modifiers (such as noantilag) .float antilag_debug; -#define ANTILAG_LATENCY(e) min(0.4, e.ping * 0.001) +#define ANTILAG_LATENCY(e) min(0.4, CS(e).ping * 0.001) // add one ticrate? -#endif + +/* +================== +traceline_antilag + +A version of traceline that must be used by SOLID_SLIDEBOX things that want to hit SOLID_CORPSE things with a trace attack +Additionally it moves players back into the past before the trace and restores them afterward. +================== +*/ +void tracebox_antilag_force_wz (entity source, vector v1, vector mi, vector ma, vector v2, float nomonst, entity forent, float lag, float wz); +void traceline_antilag_force (entity source, vector v1, vector v2, float nomonst, entity forent, float lag); +void traceline_antilag (entity source, vector v1, vector v2, float nomonst, entity forent, float lag); +void tracebox_antilag (entity source, vector v1, vector mi, vector ma, vector v2, float nomonst, entity forent, float lag); +void WarpZone_traceline_antilag_force (entity source, vector v1, vector v2, float nomonst, entity forent, float lag); +void WarpZone_traceline_antilag (entity source, vector v1, vector v2, float nomonst, entity forent, float lag); +void WarpZone_tracebox_antilag (entity source, vector v1, vector mi, vector ma, vector v2, float nomonst, entity forent, float lag);