]> git.rm.cloudns.org Git - xonotic/xonotic-data.pk3dir.git/commitdiff
Improve water movement prediction
authorTimePath <andrew.hardaker1995@gmail.com>
Wed, 10 Dec 2014 05:57:09 +0000 (16:57 +1100)
committerTimePath <andrew.hardaker1995@gmail.com>
Wed, 10 Dec 2014 05:57:09 +0000 (16:57 +1100)
qcsrc/common/physics.qc

index ec9019cec4825e2c319229314ba95d2c04e7dc07..38b111da71bbfd2d9c618935727657938248f0cd 100644 (file)
@@ -1200,20 +1200,13 @@ void PM_swim(float maxspd_mod)
        self.velocity *= (1 - PHYS_INPUT_TIMELENGTH * PHYS_FRICTION);
 
 #ifdef CSQC
-       float addspeed = wishspeed - dotproduct(self.velocity, wishdir);
+       float addspeed = wishspeed - self.velocity * wishdir;
        if (addspeed > 0)
        {
                float accelspeed = min(PHYS_ACCELERATE * PHYS_INPUT_TIMELENGTH * wishspeed, addspeed);
                self.velocity += accelspeed * wishdir;
        }
-       float g = PHYS_GRAVITY * PHYS_ENTGRAVITY(self) * PHYS_INPUT_TIMELENGTH;
-       if (!(GAMEPLAYFIX_NOGRAVITYONGROUND))
-               self.velocity_z -= g * (GAMEPLAYFIX_GRAVITYUNAFFECTEDBYTICRATE ? 0.5 : 1);
-       if (self.velocity * self.velocity)
-               CSQC_ClientMovement_Move();
-       if (GAMEPLAYFIX_GRAVITYUNAFFECTEDBYTICRATE)
-               if (!IS_ONGROUND(self) || !(GAMEPLAYFIX_NOGRAVITYONGROUND))
-                       self.velocity_z -= g * 0.5;
+       CSQC_ClientMovement_Move();
 #endif
 
 #ifdef SVQC
@@ -1369,7 +1362,7 @@ void PM_jetpack(float maxspd_mod)
 #ifdef SVQC
                if (!(ITEMS(self) & IT_UNLIMITED_WEAPON_AMMO))
                        self.ammo_fuel -= PHYS_JETPACK_FUEL * PHYS_INPUT_TIMELENGTH * fvel * f;
-               
+
                self.items |= IT_USING_JETPACK;
 
                // jetpack also inhibits health regeneration, but only for 1 second