From ee623808c342de89c374d860c2b1762157095bcb Mon Sep 17 00:00:00 2001 From: fruitiex Date: Sun, 7 Feb 2010 08:25:47 +0000 Subject: [PATCH] add an optional (default off) z-axis speedcap above which a doublejump won't be performed, try values like 270 (=sv_jumpvelocity) to fix crazy jumps off stairs git-svn-id: svn://svn.icculus.org/nexuiz/trunk@8623 f962a42d-fe04-0410-a3ab-8c8b0445ebaa --- data/defaultNexuiz.cfg | 1 + data/physics10.cfg | 1 + data/physics11.cfg | 1 + data/physics151.cfg | 1 + data/physics151b.cfg | 1 + data/physics16rc1.cfg | 1 + data/physics20.cfg | 1 + data/physics25.cfg | 1 + data/physics26.cfg | 1 + data/physicsCPMA.cfg | 1 + data/physicsHavoc.cfg | 1 + data/physicsLzd.cfg | 3 ++- data/physicsNexrun.cfg | 1 + data/physicsNexrun_old.cfg | 1 + data/physicsNoQWBunny.cfg | 1 + data/physicsQ.cfg | 1 + data/physicsQ2.cfg | 1 + data/physicsQ2a.cfg | 1 + data/physicsQ3.cfg | 1 + data/physicsQBF.cfg | 1 + data/physicsQBFplus.cfg | 1 + data/physicsSamual.cfg | 1 + data/physicsWarsow.cfg | 1 + data/physicsWarsowClassicBunny.cfg | 1 + data/physicsWarsowDev.cfg | 1 + data/qcsrc/server/cl_physics.qc | 4 +++- 26 files changed, 29 insertions(+), 2 deletions(-) diff --git a/data/defaultNexuiz.cfg b/data/defaultNexuiz.cfg index 27b713086..7af2333a0 100644 --- a/data/defaultNexuiz.cfg +++ b/data/defaultNexuiz.cfg @@ -330,6 +330,7 @@ set sv_player_crouch_maxs "16 16 25" "maxs of a crouched playermodel" set sv_pogostick 1 "don't require releasing the space bar for jumping again" set sv_doublejump 0 "allow Quake 2-style double jumps" +set sv_doublejump_speedcap 0 "wont perform a doublejump if z-axis speed is higher than this, 0 = disable check" seta sv_precacheplayermodels 1 seta sv_precacheweapons 0 diff --git a/data/physics10.cfg b/data/physics10.cfg index 4d190af14..0cd7da87e 100644 --- a/data/physics10.cfg +++ b/data/physics10.cfg @@ -24,3 +24,4 @@ sv_warsowbunny_backtosideratio 0.8 sv_friction_on_land 0.5 sv_doublejump 0 // 1.0 did not allow re-jumping due to a bug, this is quite close to it +sv_doublejump_speedcap 0 diff --git a/data/physics11.cfg b/data/physics11.cfg index c597ba426..600d08c88 100644 --- a/data/physics11.cfg +++ b/data/physics11.cfg @@ -23,3 +23,4 @@ sv_warsowbunny_topspeed 925 sv_warsowbunny_backtosideratio 0.8 sv_friction_on_land 0.25 sv_doublejump 0 +sv_doublejump_speedcap 0 diff --git a/data/physics151.cfg b/data/physics151.cfg index 7d6f8aa49..b5ee0ea9a 100644 --- a/data/physics151.cfg +++ b/data/physics151.cfg @@ -23,3 +23,4 @@ sv_warsowbunny_topspeed 925 sv_warsowbunny_backtosideratio 0.8 sv_friction_on_land 0 sv_doublejump 0 +sv_doublejump_speedcap 0 diff --git a/data/physics151b.cfg b/data/physics151b.cfg index f72afdf69..c8df0900c 100644 --- a/data/physics151b.cfg +++ b/data/physics151b.cfg @@ -23,3 +23,4 @@ sv_warsowbunny_topspeed 925 sv_warsowbunny_backtosideratio 0.8 sv_friction_on_land 0 sv_doublejump 0 +sv_doublejump_speedcap 0 diff --git a/data/physics16rc1.cfg b/data/physics16rc1.cfg index 6cf3398ca..2dbfb4d8e 100644 --- a/data/physics16rc1.cfg +++ b/data/physics16rc1.cfg @@ -23,3 +23,4 @@ sv_warsowbunny_topspeed 925 sv_warsowbunny_backtosideratio 0.8 sv_friction_on_land 0.2 sv_doublejump 0 +sv_doublejump_speedcap 0 diff --git a/data/physics20.cfg b/data/physics20.cfg index 8de602928..c2e57bfbd 100644 --- a/data/physics20.cfg +++ b/data/physics20.cfg @@ -23,3 +23,4 @@ sv_warsowbunny_topspeed 925 sv_warsowbunny_backtosideratio 0.8 sv_friction_on_land 0 sv_doublejump 0 +sv_doublejump_speedcap 0 diff --git a/data/physics25.cfg b/data/physics25.cfg index a4da110b2..903b9c370 100644 --- a/data/physics25.cfg +++ b/data/physics25.cfg @@ -23,3 +23,4 @@ sv_warsowbunny_topspeed 925 sv_warsowbunny_backtosideratio 0.8 sv_friction_on_land 0 sv_doublejump 0 +sv_doublejump_speedcap 0 diff --git a/data/physics26.cfg b/data/physics26.cfg index a5746fb77..d2df09058 100644 --- a/data/physics26.cfg +++ b/data/physics26.cfg @@ -23,3 +23,4 @@ sv_warsowbunny_topspeed 925 sv_warsowbunny_backtosideratio 0.8 sv_friction_on_land 0 sv_doublejump 0 +sv_doublejump_speedcap 0 diff --git a/data/physicsCPMA.cfg b/data/physicsCPMA.cfg index da191b6b6..07aadaa7c 100644 --- a/data/physicsCPMA.cfg +++ b/data/physicsCPMA.cfg @@ -23,3 +23,4 @@ sv_warsowbunny_topspeed 925 sv_warsowbunny_backtosideratio 0.8 sv_friction_on_land 0 sv_doublejump 0 +sv_doublejump_speedcap 0 diff --git a/data/physicsHavoc.cfg b/data/physicsHavoc.cfg index 65f8e68aa..e219c2cfe 100644 --- a/data/physicsHavoc.cfg +++ b/data/physicsHavoc.cfg @@ -23,3 +23,4 @@ sv_warsowbunny_topspeed 925 sv_warsowbunny_backtosideratio 0.8 sv_friction_on_land 0 sv_doublejump 0 +sv_doublejump_speedcap 0 diff --git a/data/physicsLzd.cfg b/data/physicsLzd.cfg index 319bea0b4..123b155d7 100644 --- a/data/physicsLzd.cfg +++ b/data/physicsLzd.cfg @@ -23,4 +23,5 @@ sv_warsowbunny_accel 0.1593 sv_warsowbunny_topspeed 925 sv_warsowbunny_backtosideratio 0.8 sv_friction_on_land 0 -sv_doublejump 0 \ No newline at end of file +sv_doublejump 0 +sv_doublejump_speedcap 0 diff --git a/data/physicsNexrun.cfg b/data/physicsNexrun.cfg index 0752d55b3..39571ba0a 100644 --- a/data/physicsNexrun.cfg +++ b/data/physicsNexrun.cfg @@ -27,3 +27,4 @@ sv_warsowbunny_topspeed 925 sv_warsowbunny_backtosideratio 0.8 sv_friction_on_land 0 sv_doublejump 1 +sv_doublejump_speedcap 270 diff --git a/data/physicsNexrun_old.cfg b/data/physicsNexrun_old.cfg index 01774bbfe..4b485530d 100644 --- a/data/physicsNexrun_old.cfg +++ b/data/physicsNexrun_old.cfg @@ -27,3 +27,4 @@ sv_warsowbunny_topspeed 925 sv_warsowbunny_backtosideratio 0.8 sv_friction_on_land 0 sv_doublejump 1 +sv_doublejump_speedcap 270 diff --git a/data/physicsNoQWBunny.cfg b/data/physicsNoQWBunny.cfg index 02bc66cc5..5b12d3e63 100644 --- a/data/physicsNoQWBunny.cfg +++ b/data/physicsNoQWBunny.cfg @@ -23,3 +23,4 @@ sv_warsowbunny_topspeed 925 sv_warsowbunny_backtosideratio 0.8 sv_friction_on_land 0 sv_doublejump 0 +sv_doublejump_speedcap 0 diff --git a/data/physicsQ.cfg b/data/physicsQ.cfg index 748edf37a..5f1031b47 100644 --- a/data/physicsQ.cfg +++ b/data/physicsQ.cfg @@ -24,3 +24,4 @@ sv_warsowbunny_topspeed 925 sv_warsowbunny_backtosideratio 0.8 sv_friction_on_land 0 sv_doublejump 0 +sv_doublejump_speedcap 0 diff --git a/data/physicsQ2.cfg b/data/physicsQ2.cfg index ef98ff1dd..6601d6950 100644 --- a/data/physicsQ2.cfg +++ b/data/physicsQ2.cfg @@ -23,3 +23,4 @@ sv_warsowbunny_topspeed 925 sv_warsowbunny_backtosideratio 0.8 sv_friction_on_land 0 sv_doublejump 1 +sv_doublejump_speedcap 0 diff --git a/data/physicsQ2a.cfg b/data/physicsQ2a.cfg index b0466727d..565bc0864 100644 --- a/data/physicsQ2a.cfg +++ b/data/physicsQ2a.cfg @@ -24,3 +24,4 @@ sv_warsowbunny_topspeed 925 sv_warsowbunny_backtosideratio 0.8 sv_friction_on_land 0 sv_doublejump 1 +sv_doublejump_speedcap 0 diff --git a/data/physicsQ3.cfg b/data/physicsQ3.cfg index 6cc5fa0e5..d27507bdd 100644 --- a/data/physicsQ3.cfg +++ b/data/physicsQ3.cfg @@ -23,3 +23,4 @@ sv_warsowbunny_topspeed 925 sv_warsowbunny_backtosideratio 0.8 sv_friction_on_land 0 sv_doublejump 0 +sv_doublejump_speedcap 0 diff --git a/data/physicsQBF.cfg b/data/physicsQBF.cfg index ce46851a8..80d82c1b3 100644 --- a/data/physicsQBF.cfg +++ b/data/physicsQBF.cfg @@ -23,3 +23,4 @@ sv_warsowbunny_topspeed 925 sv_warsowbunny_backtosideratio 0.8 sv_friction_on_land 0 sv_doublejump 0 +sv_doublejump_speedcap 0 diff --git a/data/physicsQBFplus.cfg b/data/physicsQBFplus.cfg index 8689113f5..810f29da1 100644 --- a/data/physicsQBFplus.cfg +++ b/data/physicsQBFplus.cfg @@ -23,3 +23,4 @@ sv_warsowbunny_topspeed 925 sv_warsowbunny_backtosideratio 0.8 sv_friction_on_land 0 sv_doublejump 0 +sv_doublejump_speedcap 0 diff --git a/data/physicsSamual.cfg b/data/physicsSamual.cfg index 0d4672fb1..a497918b0 100644 --- a/data/physicsSamual.cfg +++ b/data/physicsSamual.cfg @@ -22,3 +22,4 @@ sv_warsowbunny_topspeed 925 sv_warsowbunny_backtosideratio 0.8 sv_friction_on_land 0 sv_doublejump 0 +sv_doublejump_speedcap 0 diff --git a/data/physicsWarsow.cfg b/data/physicsWarsow.cfg index b56fb8bc3..db3cf9069 100644 --- a/data/physicsWarsow.cfg +++ b/data/physicsWarsow.cfg @@ -23,3 +23,4 @@ sv_warsowbunny_topspeed 925 sv_warsowbunny_backtosideratio 0.8 sv_friction_on_land 0 sv_doublejump 0 +sv_doublejump_speedcap 0 diff --git a/data/physicsWarsowClassicBunny.cfg b/data/physicsWarsowClassicBunny.cfg index 1f0525a15..add4003de 100644 --- a/data/physicsWarsowClassicBunny.cfg +++ b/data/physicsWarsowClassicBunny.cfg @@ -23,3 +23,4 @@ sv_warsowbunny_topspeed 925 sv_warsowbunny_backtosideratio 0.8 sv_friction_on_land 0 sv_doublejump 0 +sv_doublejump_speedcap 0 diff --git a/data/physicsWarsowDev.cfg b/data/physicsWarsowDev.cfg index 86d696444..f701f7f1f 100644 --- a/data/physicsWarsowDev.cfg +++ b/data/physicsWarsowDev.cfg @@ -23,3 +23,4 @@ sv_warsowbunny_topspeed 900 sv_warsowbunny_backtosideratio 0.9 sv_friction_on_land 0 sv_doublejump 0 +sv_doublejump_speedcap 0 diff --git a/data/qcsrc/server/cl_physics.qc b/data/qcsrc/server/cl_physics.qc index 8acd2e6e2..08e7e4151 100644 --- a/data/qcsrc/server/cl_physics.qc +++ b/data/qcsrc/server/cl_physics.qc @@ -100,7 +100,9 @@ void PlayerJump (void) self.jumppadcount = 0; } - self.velocity_z = self.velocity_z + mjumpheight; + if(self.velocity_z < cvar("sv_doublejump_speedcap") || !cvar("sv_doublejump_speedcap")) // try to "fix" the crazy stair jumps by limiting at which z-axis speeds you can perform a doublejump + self.velocity_z = self.velocity_z + mjumpheight; + self.oldvelocity_z = self.velocity_z; self.flags &~= FL_ONGROUND; -- 2.39.2