X-Git-Url: http://de.git.xonotic.org/?a=blobdiff_plain;f=qcsrc%2Fserver%2Fantilag.qc;h=5e0a91a3e897241196d0179e4467d7ca3f169ed0;hb=b2dc1d0a1c73a6eeb47df5092be173db37da1f7d;hp=3db0540fc83f424f08d16340f80a18c52f0c6bf8;hpb=c0656e9a6b660e95a04cc8ced4e73b76d19f5c3a;p=xonotic%2Fxonotic-data.pk3dir.git diff --git a/qcsrc/server/antilag.qc b/qcsrc/server/antilag.qc index 3db0540fc..5e0a91a3e 100644 --- a/qcsrc/server/antilag.qc +++ b/qcsrc/server/antilag.qc @@ -7,14 +7,11 @@ .float antilag_debug; -void antilag_dummy() -{ - self.antilag_times = 0; - self.antilag_origins = '0 0 0'; -} - void antilag_record(entity e, float t) { + if (e.vehicle && e.vehicle.vehicle_flags == VHF_PLAYERSLOT) + return; + if(e.vehicle) antilag_record(e.vehicle, t); @@ -66,9 +63,11 @@ vector antilag_takebackorigin(entity e, float t) i0 = antilag_find(e, t); if(i0 < 0) { - i0 = e.antilag_index - 1; - if(i0 < 0) - i0 = ANTILAG_MAX_ORIGINS - 1; + // IN THE PRESENT + if(e.antilag_takenback) + return e.antilag_saved_origin; + else + return e.origin; } i1 = i0 + 1; if(i1 >= ANTILAG_MAX_ORIGINS) @@ -90,6 +89,10 @@ vector antilag_takebackavgvelocity(entity e, float t0, float t1) void antilag_takeback(entity e, float t) { + + if (e.vehicle && e.vehicle.vehicle_flags == VHF_PLAYERSLOT) + return; + if(e.vehicle) antilag_takeback(e.vehicle, t); @@ -102,6 +105,9 @@ void antilag_takeback(entity e, float t) void antilag_restore(entity e) { + if (e.vehicle && e.vehicle.vehicle_flags == VHF_PLAYERSLOT) + return; + if(e.vehicle) antilag_restore(e.vehicle); @@ -120,7 +126,7 @@ void antilag_clear(entity e) for(i = 0; i < ANTILAG_MAX_ORIGINS; ++i) { e.(antilag_times[i]) = -2342; - e.(antilag_origins[i]) = self.origin; + e.(antilag_origins[i]) = e.origin; } - e.antilag_index = 0; + e.antilag_index = ANTILAG_MAX_ORIGINS - 1; // next one is 0 }