From fb8a32a3d9c4b0bbe81536a520f910a84a792c7c Mon Sep 17 00:00:00 2001 From: Rudolf Polzer Date: Sat, 14 Aug 2010 21:53:24 +0200 Subject: [PATCH] fix the prevtopspeed handling of multijump --- qcsrc/server/cl_physics.qc | 14 ++++---------- 1 file changed, 4 insertions(+), 10 deletions(-) diff --git a/qcsrc/server/cl_physics.qc b/qcsrc/server/cl_physics.qc index cb94429d9..ed9a419aa 100644 --- a/qcsrc/server/cl_physics.qc +++ b/qcsrc/server/cl_physics.qc @@ -37,9 +37,6 @@ float sv_airspeedlimit_nonqw; .float multijump_ready; .float prevjumpbutton; -.float prevtopspeed; // store the top speed during the last 0.25 seconds to make dodging at full speeds easier -.float prevtopspeed_time; - /* ============= PlayerJump @@ -93,7 +90,10 @@ void PlayerJump (void) float curspeed; vector wishvel, wishdir; - curspeed = max(vlen(self.velocity - '0 0 1' * self.velocity_z), self.prevtopspeed); + curspeed = max( + vlen(vec2(self.velocity)), // current xy speed + vlen(vec2(antilag_takebackavgvelocity(self, time - 0.25, time))) // average xy topspeed over the last 0.25 secs + ); makevectors(self.v_angle); wishvel = v_forward * self.movement_x + v_right * self.movement_y; wishdir = normalize(wishvel); @@ -944,12 +944,6 @@ void SV_PlayerPhysics() self.multijump_count = -2; // the cvar value for infinite jumps is -1, so this needs to be smaller } - if(vlen(self.velocity) >= self.prevtopspeed || time - self.prevtopspeed_time > 0.25) - { - self.prevtopspeed_time = time; - self.prevtopspeed = vlen(self.velocity - '0 0 1' * self.velocity_z); - } - if (self.BUTTON_JUMP) PlayerJump (); else -- 2.39.2