From 58fc7876b2def37e87432e2486f9647423012033 Mon Sep 17 00:00:00 2001 From: TimePath Date: Wed, 10 Dec 2014 16:57:09 +1100 Subject: [PATCH] Improve water movement prediction --- qcsrc/common/physics.qc | 13 +++---------- 1 file changed, 3 insertions(+), 10 deletions(-) diff --git a/qcsrc/common/physics.qc b/qcsrc/common/physics.qc index ec9019cec..38b111da7 100644 --- a/qcsrc/common/physics.qc +++ b/qcsrc/common/physics.qc @@ -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 -- 2.39.2