]> de.git.xonotic.org Git - xonotic/xonotic-data.pk3dir.git/blobdiff - qcsrc/server/antilag.qc
Declare more ints as ints
[xonotic/xonotic-data.pk3dir.git] / qcsrc / server / antilag.qc
index 4fd165b308c871617a2ccc42551ea7e434f6a125..f9829960d4b30213710a9408047c921838dc69d2 100644 (file)
@@ -1,20 +1,26 @@
-#define ANTILAG_MAX_ORIGINS 64
+#if defined(CSQC)
+#elif defined(MENUQC)
+#elif defined(SVQC)
+       #include "../dpdefs/progsdefs.qh"
+    #include "../dpdefs/dpextensions.qh"
+    #include "vehicles/vehicles_def.qh"
+    #include "antilag.qh"
+#endif
+
+const int ANTILAG_MAX_ORIGINS = 64;
 .vector antilag_origins[ANTILAG_MAX_ORIGINS];
 .float antilag_times[ANTILAG_MAX_ORIGINS];
-.float antilag_index;
+.int antilag_index;
 .vector antilag_saved_origin;
 .float antilag_takenback;
 
 .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);
 
@@ -34,9 +40,7 @@ void antilag_record(entity e, float t)
 // finds the index BEFORE t
 float antilag_find(entity e, float t)
 {
-       float i;
-
-       for(i = e.antilag_index; i > 0; --i)
+       for(int i = e.antilag_index; i > 0; --i)
                if(e.(antilag_times[i]) >= t)
                        if(e.(antilag_times[i - 1]) < t)
                                return i - 1;
@@ -45,7 +49,7 @@ float antilag_find(entity e, float t)
                if(e.(antilag_times[ANTILAG_MAX_ORIGINS - 1]) < t)
                        return ANTILAG_MAX_ORIGINS - 1;
 
-       for(i = ANTILAG_MAX_ORIGINS - 1; i > e.antilag_index + 1; --i)
+       for(int i = ANTILAG_MAX_ORIGINS - 1; i > e.antilag_index + 1; --i)
                if(e.(antilag_times[i]) >= t)
                        if(e.(antilag_times[i - 1]) < t)
                                return i - 1;
@@ -61,10 +65,8 @@ vector lerpv(float t0, vector v0, float t1, vector v1, float t)
 
 vector antilag_takebackorigin(entity e, float t)
 {
-       float i0, i1;
-
-       i0 = antilag_find(e, t);
-       if(i0 < 0)
+       int i0 = antilag_find(e, t);
+       if (i0 < 0)
        {
                // IN THE PRESENT
                if(e.antilag_takenback)
@@ -72,8 +74,8 @@ vector antilag_takebackorigin(entity e, float t)
                else
                        return e.origin;
        }
-       i1 = i0 + 1;
-       if(i1 >= ANTILAG_MAX_ORIGINS)
+       int i1 = i0 + 1;
+       if (i1 >= ANTILAG_MAX_ORIGINS)
                i1 = 0;
 
        return lerpv(e.(antilag_times[i0]), e.(antilag_origins[i0]), e.(antilag_times[i1]), e.(antilag_origins[i1]), t);
@@ -92,6 +94,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);
 
@@ -99,11 +105,14 @@ void antilag_takeback(entity e, float t)
                e.antilag_saved_origin = e.origin;
 
        setorigin(e, antilag_takebackorigin(e, t));
-       e.antilag_takenback = TRUE;
+       e.antilag_takenback = true;
 }
 
 void antilag_restore(entity e)
 {
+    if (e.vehicle && e.vehicle.vehicle_flags == VHF_PLAYERSLOT)
+        return;
+
        if(e.vehicle)
                antilag_restore(e.vehicle);
 
@@ -111,15 +120,13 @@ void antilag_restore(entity e)
                return;
 
        setorigin(e, e.antilag_saved_origin);
-       e.antilag_takenback = FALSE;
+       e.antilag_takenback = false;
 }
 
 void antilag_clear(entity e)
 {
-       float i;
-
        antilag_restore(e);
-       for(i = 0; i < ANTILAG_MAX_ORIGINS; ++i)
+       for (int i = 0; i < ANTILAG_MAX_ORIGINS; ++i)
        {
                e.(antilag_times[i]) = -2342;
                e.(antilag_origins[i]) = e.origin;