]> de.git.xonotic.org Git - xonotic/xonotic-data.pk3dir.git/commitdiff
Merge commit 'origin/master' into diabolik/erebusnyxplayermodel
authorSahil Singhal <sahil@sahil-desktop.(none)>
Sat, 5 Jun 2010 18:48:48 +0000 (14:48 -0400)
committerSahil Singhal <sahil@sahil-desktop.(none)>
Sat, 5 Jun 2010 18:48:48 +0000 (14:48 -0400)
30 files changed:
defaultXonotic.cfg
physics10.cfg
physics11.cfg
physics151.cfg
physics151b.cfg
physics16rc1.cfg
physics20.cfg
physics25.cfg
physics26.cfg
physicsCPMA.cfg
physicsHavoc.cfg
physicsLeeStricklin.cfg
physicsLzd.cfg
physicsNoQWBunny.cfg
physicsQ.cfg
physicsQ2.cfg
physicsQ2a.cfg
physicsQ3.cfg
physicsQBF.cfg
physicsQBFplus.cfg
physicsSamual.cfg
physicsWarsow.cfg
physicsWarsowClassicBunny.cfg
physicsWarsowDev.cfg
physicsXPM.cfg
qcsrc/common/constants.qh
qcsrc/server/cl_physics.qc
qcsrc/server/defs.qh
qcsrc/server/g_world.qc
qcsrc/server/sv_main.qc

index 43d6e0c8a95fe56a91ecdeda9552f009775b2ac7..fd4c100ceb2a164ad643eb2b9dbcbdba95490c8e 100644 (file)
@@ -240,23 +240,23 @@ cl_bobcycle 0 // how long the cycle of up/down view movement takes (only works i
 cl_bob 0.01 // how much view moves up/down when moving (does not move if cl_bobcycle is 0, but still enables cl_bobmodel), default is 0.02
 cl_bobmodel 1 // whether to have gun model move around on screen when moving (only works if cl_bob is not 0), default is 1
 cl_leanmodel 1 // enables weapon leaning effect when looking around
-cl_leanmodel_side_speed 1 "gun leaning sideways speed"
+cl_leanmodel_side_speed 0.7 "gun leaning sideways speed"
 cl_leanmodel_side_limit 35 "gun leaning sideways limit"
 cl_leanmodel_side_highpass1 30 "gun leaning sideways pre-highpass in 1/s"
 cl_leanmodel_side_highpass 3 "gun leaning sideways highpass in 1/s"
 cl_leanmodel_side_lowpass 20 "gun leaning sideways lowpass in 1/s"
-cl_leanmodel_up_speed 1 "gun leaning upward speed"
+cl_leanmodel_up_speed 0.65 "gun leaning upward speed"
 cl_leanmodel_up_limit 50 "gun leaning upward limit"
 cl_leanmodel_up_highpass1 5 "gun leaning upward pre-highpass in 1/s"
 cl_leanmodel_up_highpass 15 "gun leaning upward highpass in 1/s"
 cl_leanmodel_up_lowpass 20 "gun leaning upward lowpass in 1/s"
 cl_followmodel 1 // enables weapon pushing / pulling effect when walking
-cl_followmodel_side_speed 0.5 "gun following sideways speed"
+cl_followmodel_side_speed 0.25 "gun following sideways speed"
 cl_followmodel_side_limit 6 "gun following sideways limit"
 cl_followmodel_side_highpass1 30 "gun following sideways pre-highpass in 1/s"
 cl_followmodel_side_highpass 5 "gun following sideways highpass in 1/s"
 cl_followmodel_side_lowpass 10 "gun following sideways lowpass in 1/s"
-cl_followmodel_up_speed 1 "gun following upward speed"
+cl_followmodel_up_speed 0.5 "gun following upward speed"
 cl_followmodel_up_limit 5 "gun following upward limit"
 cl_followmodel_up_highpass1 60 "gun following upward pre-highpass in 1/s"
 cl_followmodel_up_highpass 2 "gun following upward highpass in 1/s"
index 16331779c3bc3678daf5b37be4d32614c7093314..4631d5ea7b5f6d129267ab4858387545ea97fd76 100644 (file)
@@ -19,6 +19,7 @@ sv_maxairstrafespeed 0
 sv_airstrafeaccel_qw 0
 sv_aircontrol 0
 sv_aircontrol_power 2
+sv_airspeedlimit_nonqw 0
 sv_warsowbunny_turnaccel 0
 sv_warsowbunny_accel 0.1593
 sv_warsowbunny_topspeed 925
index 1a7afbd5c5bf893ec66348f8125c17e844749a53..8c8219af5fa0fd30a05e4f178a865a6e1a68690c 100644 (file)
@@ -19,6 +19,7 @@ sv_maxairstrafespeed 0
 sv_airstrafeaccel_qw 0
 sv_aircontrol 0
 sv_aircontrol_power 2
+sv_airspeedlimit_nonqw 0
 sv_warsowbunny_turnaccel 0
 sv_warsowbunny_accel 0.1593
 sv_warsowbunny_topspeed 925
index 52f2536da2a85b5f9a022371451952e21ecc962f..9707f6f7ce6002d736d5c00b75256921d162f1eb 100644 (file)
@@ -19,6 +19,7 @@ sv_maxairstrafespeed 0
 sv_airstrafeaccel_qw 0
 sv_aircontrol 0
 sv_aircontrol_power 2
+sv_airspeedlimit_nonqw 0
 sv_warsowbunny_turnaccel 0
 sv_warsowbunny_accel 0.1593
 sv_warsowbunny_topspeed 925
index 325e7f6623b4c895920e4943c3a07692813bb88a..475875b1a2f316341c8c975580d58188292addc1 100644 (file)
@@ -19,6 +19,7 @@ sv_maxairstrafespeed 0
 sv_airstrafeaccel_qw 0
 sv_aircontrol 0
 sv_aircontrol_power 2
+sv_airspeedlimit_nonqw 0
 sv_warsowbunny_turnaccel 0
 sv_warsowbunny_accel 0.1593
 sv_warsowbunny_topspeed 925
index 751e527df3f1ad914903bda55b8408e455c3e8cc..68a8f198ef6e48d074efa4aa153b53f110b7b9de 100644 (file)
@@ -19,6 +19,7 @@ sv_maxairstrafespeed 0
 sv_airstrafeaccel_qw 0
 sv_aircontrol 0
 sv_aircontrol_power 2
+sv_airspeedlimit_nonqw 0
 sv_warsowbunny_turnaccel 0
 sv_warsowbunny_accel 0.1593
 sv_warsowbunny_topspeed 925
index cf3f9110ba9400c4691036baf5fb9b94942a2817..b2e056ee5a9e092fd0dc011683ccdae0ac5e6449 100644 (file)
@@ -19,6 +19,7 @@ sv_maxairstrafespeed 0
 sv_airstrafeaccel_qw 0
 sv_aircontrol 0
 sv_aircontrol_power 2
+sv_airspeedlimit_nonqw 0
 sv_warsowbunny_turnaccel 0
 sv_warsowbunny_accel 0.1593
 sv_warsowbunny_topspeed 925
index ed1a85446cea1f6d187f9327b9bcb6f35bd6835e..85e4841cd127b739ddfcfc2e757e020787557e53 100644 (file)
@@ -19,6 +19,7 @@ sv_maxairstrafespeed 0
 sv_airstrafeaccel_qw 0
 sv_aircontrol 0
 sv_aircontrol_power 2
+sv_airspeedlimit_nonqw 0
 sv_warsowbunny_turnaccel 0
 sv_warsowbunny_accel 0.1593
 sv_warsowbunny_topspeed 925
index 34ab3cf940c238601daea8ce0d9796306b035c86..0e4de396e70cdcb29b59e143a6e70ca021ec9edf 100644 (file)
@@ -19,6 +19,7 @@ sv_maxairstrafespeed 0
 sv_airstrafeaccel_qw 0
 sv_aircontrol 0
 sv_aircontrol_power 2
+sv_airspeedlimit_nonqw 0
 sv_warsowbunny_turnaccel 0
 sv_warsowbunny_accel 0.1593
 sv_warsowbunny_topspeed 925
index 7c985bfd69052e64e54a02a194cdc5dce673cf13..d572e6d97f5606864aa6e57f4edb976c10596ef5 100644 (file)
@@ -19,6 +19,7 @@ sv_maxairstrafespeed 30
 sv_airstrafeaccel_qw 0
 sv_aircontrol 150
 sv_aircontrol_power 2
+sv_airspeedlimit_nonqw 0
 sv_warsowbunny_turnaccel 0
 sv_warsowbunny_accel 0.1593
 sv_warsowbunny_topspeed 925
index cc90edcecfcb9f09451cb0fc775ca847bf8231f7..eb63775623b486ae5e77ed5a0cd8c64e6fd5face 100644 (file)
@@ -19,6 +19,7 @@ sv_maxairstrafespeed 0
 sv_airstrafeaccel_qw 0
 sv_aircontrol 0
 sv_aircontrol_power 2
+sv_airspeedlimit_nonqw 0
 sv_warsowbunny_turnaccel 0
 sv_warsowbunny_accel 0.1593
 sv_warsowbunny_topspeed 925
index 446da86abfb44aee6a55069d149cf3f05cb77467..4a959db3e94685a9b405861c8ef01f7d421d411e 100644 (file)
@@ -20,6 +20,7 @@ sv_maxairstrafespeed 0
 sv_airstrafeaccel_qw 0
 sv_aircontrol 0
 sv_aircontrol_power 2
+sv_airspeedlimit_nonqw 0
 sv_warsowbunny_turnaccel 0
 sv_warsowbunny_accel 0.1593
 sv_warsowbunny_topspeed 925
index 4a73e899387da62e3cabe570f60a7864d1b92de8..2b437d3443a0dd62dfcad4602064d7de51c07dd2 100644 (file)
@@ -20,6 +20,7 @@ sv_maxairstrafespeed 0
 sv_airstrafeaccel_qw 0
 sv_aircontrol 0
 sv_aircontrol_power 2
+sv_airspeedlimit_nonqw 0
 sv_warsowbunny_turnaccel 0
 sv_warsowbunny_accel 0.1593
 sv_warsowbunny_topspeed 925
index 6920d764a8cfa12311f068b09bd6c6e30007d756..d70bc1bde1fa2a981a5ac98d55f45aa559ea9a18 100644 (file)
@@ -14,11 +14,12 @@ sv_waterfriction -1
 sv_airaccel_sideways_friction -0.2
 sv_airaccel_qw -0.9475
 sv_airstopaccelerate 2.5
-sv_airstrafeaccelerate 42
+sv_airstrafeaccelerate 24
 sv_maxairstrafespeed 100
-sv_airstrafeaccel_qw -0.99
+sv_airstrafeaccel_qw -0.9825
 sv_aircontrol 125
 sv_aircontrol_power 2.5
+sv_airspeedlimit_nonqw 0
 sv_warsowbunny_turnaccel 0
 sv_warsowbunny_accel 0.1593
 sv_warsowbunny_topspeed 925
index 5839a6137796a36e93f392742bc621388606cc98..ea8e1acf7bdd167e971f3a30dde9ca6fdeafb571 100644 (file)
@@ -20,6 +20,7 @@ sv_maxairstrafespeed 0
 sv_airstrafeaccel_qw 0
 sv_aircontrol 0
 sv_aircontrol_power 2
+sv_airspeedlimit_nonqw 0
 sv_warsowbunny_turnaccel 0
 sv_warsowbunny_accel 0.1593
 sv_warsowbunny_topspeed 925
index e6c1ea3eefae6269c791eb058e05ccbe82ef939b..1d08ae8c7400b13cac0c0b1ca23207e8d10ce3b3 100644 (file)
@@ -19,6 +19,7 @@ sv_maxairstrafespeed 0
 sv_airstrafeaccel_qw 0
 sv_aircontrol 0
 sv_aircontrol_power 2
+sv_airspeedlimit_nonqw 0
 sv_warsowbunny_turnaccel 0
 sv_warsowbunny_accel 0.1593
 sv_warsowbunny_topspeed 925
index 03e4008dc8d898cce34fec23575a238b7a6e971e..7409ae4be2c327173ea97be61ab07de43d7863cd 100644 (file)
@@ -20,6 +20,7 @@ sv_maxairstrafespeed 0
 sv_airstrafeaccel_qw 0
 sv_aircontrol 0
 sv_aircontrol_power 2
+sv_airspeedlimit_nonqw 0
 sv_warsowbunny_turnaccel 0
 sv_warsowbunny_accel 0.1593
 sv_warsowbunny_topspeed 925
index 37643ed9afb79619b380005bcffe38a0c4bb59ce..1951becf20abd05d24685a6e51b813dabe592b23 100644 (file)
@@ -19,6 +19,7 @@ sv_maxairstrafespeed 0
 sv_airstrafeaccel_qw 0
 sv_aircontrol 0
 sv_aircontrol_power 2
+sv_airspeedlimit_nonqw 0
 sv_warsowbunny_turnaccel 0
 sv_warsowbunny_accel 0.1593
 sv_warsowbunny_topspeed 925
index 8b677e6cd71ade18726037b6f631db95e7c83b80..4bbb9be2d4f91eab389b0653e9fcf12e83743edd 100644 (file)
@@ -19,6 +19,7 @@ sv_maxairstrafespeed 0
 sv_airstrafeaccel_qw 0
 sv_aircontrol 0
 sv_aircontrol_power 2
+sv_airspeedlimit_nonqw 0
 sv_warsowbunny_turnaccel 0
 sv_warsowbunny_accel 0.1593
 sv_warsowbunny_topspeed 925
index 58b2a45d5a7e8887c2cd106b11bb5afab9f297fd..6c17ad683b7905284ec5ff9d65e94c41e8c36453 100644 (file)
@@ -19,6 +19,7 @@ sv_maxairstrafespeed 0
 sv_airstrafeaccel_qw 0
 sv_aircontrol 0
 sv_aircontrol_power 2
+sv_airspeedlimit_nonqw 0
 sv_warsowbunny_turnaccel 0
 sv_warsowbunny_accel 0.1593
 sv_warsowbunny_topspeed 925
index 8d2fa30a050cb4ab2dd7f41b91f56fe2c5c01ee0..e03363a088ba30a3d59e1c9d8eccbefa1f5595d0 100644 (file)
@@ -19,6 +19,7 @@ sv_maxairstrafespeed 0
 sv_airstrafeaccel_qw 0
 sv_aircontrol 0
 sv_aircontrol_power 2
+sv_airspeedlimit_nonqw 0
 sv_warsowbunny_turnaccel 0
 sv_warsowbunny_accel 0.1593
 sv_warsowbunny_topspeed 925
index 1c87870a1934e7b8500fb4ce4d0238709d90dc1e..b1b0655cbc863b9a7394076401300b61cf3579fe 100644 (file)
@@ -19,6 +19,7 @@ sv_maxairstrafespeed 30
 sv_airstrafeaccel_qw 0
 sv_aircontrol 0
 sv_aircontrol_power 2
+sv_airspeedlimit_nonqw 0
 sv_warsowbunny_turnaccel 9 // activates warsow movement mode
 sv_warsowbunny_accel 0.1593
 sv_warsowbunny_topspeed 925
index e73204d662f2d3bf09e93baeb9b86b6486a737d6..06e7c1a575c61ffba43a5382974affbc32128ef6 100644 (file)
@@ -19,6 +19,7 @@ sv_maxairstrafespeed 30
 sv_airstrafeaccel_qw 0
 sv_aircontrol 150
 sv_aircontrol_power 2
+sv_airspeedlimit_nonqw 0
 sv_warsowbunny_turnaccel 0
 sv_warsowbunny_accel 0.1593
 sv_warsowbunny_topspeed 925
index f63f67e11110e3a87a561c5615f5a011e5d6d5d7..cb07a488180082f927575f3c39ee515f9aaf648b 100644 (file)
@@ -19,6 +19,7 @@ sv_maxairstrafespeed 30
 sv_airstrafeaccel_qw 0
 sv_aircontrol 0
 sv_aircontrol_power 2
+sv_airspeedlimit_nonqw 0
 sv_warsowbunny_turnaccel 6 // activates warsow movement mode
 sv_warsowbunny_accel 0.1585
 sv_warsowbunny_topspeed 900
index 1737f1aeaf163c44ea0d27b16df6d5c2c9c1aff8..2a60b65178257fbea2efabc866eb59866fb6d780 100644 (file)
@@ -23,6 +23,7 @@ sv_maxairstrafespeed 30
 sv_airstrafeaccel_qw 1
 sv_aircontrol 150
 sv_aircontrol_power 2
+sv_airspeedlimit_nonqw 0
 sv_warsowbunny_turnaccel 0
 sv_warsowbunny_accel 0.1593
 sv_warsowbunny_topspeed 925
index d747b70dbe44ea9da825aab2506a788ce1821a66..2fe55b1688bffd5295e2c9af812e4659f28f8931 100644 (file)
@@ -281,6 +281,7 @@ const float STAT_LEADLIMIT = 47;
 const float STAT_BULLETS_LOADED = 48;
 
 // see DP source, quakedef.h
+const float STAT_MOVEVARS_AIRSPEEDLIMIT_NONQW = 222;
 const float STAT_MOVEVARS_AIRSTRAFEACCEL_QW = 223;
 const float STAT_MOVEVARS_AIRACCEL_QW = 254;
 
index 0051d8759a4d9a3a9384152d53e848d0a8427dc4..3a405c40be8f52fe179c71cb631ec044da90213c 100644 (file)
@@ -21,6 +21,7 @@ float sv_warsowbunny_accel;
 float sv_warsowbunny_topspeed;
 float sv_warsowbunny_turnaccel;
 float sv_warsowbunny_backtosideratio;
+float sv_airspeedlimit_nonqw;
 
 .float ladder_time;
 .entity ladder_entity;
@@ -477,12 +478,17 @@ void CPM_PM_Aircontrol(vector wishdir, float wishspeed)
        self.velocity_z = zspeed;
 }
 
+float AdjustAirAccelQW(float accelqw, float factor)
+{
+       return copysign(bound(0.000001, 1 - (1 - fabs(accelqw)) * factor, 1), accelqw);
+}
+
 // example config for alternate speed clamping:
 //   sv_airaccel_qw 0.8
 //   sv_airaccel_sideways_friction 0
 //   prvm_globalset server speedclamp_mode 1
 //     (or 2)
-void PM_Accelerate(vector wishdir, float wishspeed, float wishspeed0, float accel, float accelqw, float sidefric)
+void PM_Accelerate(vector wishdir, float wishspeed, float wishspeed0, float accel, float accelqw, float sidefric, float speedlimit)
 {
        float vel_straight;
        float vel_z;
@@ -509,6 +515,8 @@ void PM_Accelerate(vector wishdir, float wishspeed, float wishspeed0, float acce
        step = accel * frametime * wishspeed0;
 
        vel_xy_current  = vlen(vel_xy);
+       if(speedlimit)
+               accelqw = AdjustAirAccelQW(accelqw, (speedlimit - bound(wishspeed, vel_xy_current, speedlimit)) / max(1, speedlimit - wishspeed));
        vel_xy_forward  = vel_xy_current + bound(0, wishspeed - vel_xy_current, step) * accelqw + step * (1 - accelqw);
        vel_xy_backward = vel_xy_current - bound(0, wishspeed + vel_xy_current, step) * accelqw - step * (1 - accelqw);
        if(vel_xy_backward < 0)
@@ -644,11 +652,12 @@ void SV_PlayerPhysics()
        string c;
 
        // fix physics stats for g_movement_highspeed
-       self.stat_sv_airaccel_qw = copysign(bound(0, 1-(1-fabs(sv_airaccel_qw))*autocvar_g_movement_highspeed, 1), sv_airaccel_qw);
+       self.stat_sv_airaccel_qw = AdjustAirAccelQW(sv_airaccel_qw, autocvar_g_movement_highspeed);
        if(sv_airstrafeaccel_qw)
-               self.stat_sv_airstrafeaccel_qw = copysign(bound(0.001, 1-(1-fabs(sv_airstrafeaccel_qw))*autocvar_g_movement_highspeed, 1), sv_airstrafeaccel_qw);
+               self.stat_sv_airstrafeaccel_qw = AdjustAirAccelQW(sv_airstrafeaccel_qw, autocvar_g_movement_highspeed);
        else
                self.stat_sv_airstrafeaccel_qw = 0;
+       self.stat_sv_airspeedlimit_nonqw = sv_airspeedlimit_nonqw * autocvar_g_movement_highspeed;
 
     if(self.PlayerPhysplug)
         if(self.PlayerPhysplug())
@@ -924,7 +933,7 @@ void SV_PlayerPhysics()
                if (wishspeed > sv_maxspeed*maxspd_mod)
                        wishspeed = sv_maxspeed*maxspd_mod;
                if (time >= self.teleport_time)
-                       PM_Accelerate(wishdir, wishspeed, wishspeed, sv_accelerate*maxspd_mod, 1, 0);
+                       PM_Accelerate(wishdir, wishspeed, wishspeed, sv_accelerate*maxspd_mod, 1, 0, 0);
        }
        else if (self.waterlevel >= WATERLEVEL_SWIMMING)
        {
@@ -947,7 +956,7 @@ void SV_PlayerPhysics()
                self.velocity = self.velocity * (1 - frametime * sv_friction);
 
                // water acceleration
-               PM_Accelerate(wishdir, wishspeed, wishspeed, sv_accelerate*maxspd_mod, 1, 0);
+               PM_Accelerate(wishdir, wishspeed, wishspeed, sv_accelerate*maxspd_mod, 1, 0, 0);
        }
        else if (time < self.ladder_time)
        {
@@ -990,7 +999,7 @@ void SV_PlayerPhysics()
                if (time >= self.teleport_time)
                {
                        // water acceleration
-                       PM_Accelerate(wishdir, wishspeed, wishspeed, sv_accelerate*maxspd_mod, 1, 0);
+                       PM_Accelerate(wishdir, wishspeed, wishspeed, sv_accelerate*maxspd_mod, 1, 0, 0);
                }
        }
        else if ((self.items & IT_JETPACK) && self.BUTTON_HOOK && (!cvar("g_jetpack_fuel") || self.ammo_fuel >= 0.01 || self.items & IT_UNLIMITED_WEAPON_AMMO))
@@ -1150,7 +1159,7 @@ void SV_PlayerPhysics()
                if (self.crouch)
                        wishspeed = wishspeed * 0.5;
                if (time >= self.teleport_time)
-                       PM_Accelerate(wishdir, wishspeed, wishspeed, sv_accelerate*maxspd_mod, 1, 0);
+                       PM_Accelerate(wishdir, wishspeed, wishspeed, sv_accelerate*maxspd_mod, 1, 0, 0);
        }
        else
        {
@@ -1216,7 +1225,7 @@ void SV_PlayerPhysics()
                        if(sv_warsowbunny_turnaccel && accelerating && self.movement_y == 0 && self.movement_x != 0)
                                PM_AirAccelerate(wishdir, wishspeed);
                        else
-                               PM_Accelerate(wishdir, wishspeed, wishspeed0, airaccel, airaccelqw, sv_airaccel_sideways_friction / maxairspd);
+                               PM_Accelerate(wishdir, wishspeed, wishspeed0, airaccel, airaccelqw, sv_airaccel_sideways_friction / maxairspd, self.stat_sv_airspeedlimit_nonqw);
 
                        if(sv_aircontrol)
                                CPM_PM_Aircontrol(wishdir, wishspeed2);
index fec2a0976f196e2f1e29c154b1f86587f57057b9..4d701772434caba1f8b589f5179f227e51b1d461 100644 (file)
@@ -536,6 +536,7 @@ float game_starttime; //point in time when the countdown is over
 
 .float stat_sv_airaccel_qw;
 .float stat_sv_airstrafeaccel_qw;
+.float stat_sv_airspeedlimit_nonqw;
 
 void W_Porto_Remove (entity p);
 
index e969146ca40e145ed8e73e7e04a20f1f09e94330..f873ea7c6b00331ed188b2bf1bf3f030f165fc4f 100644 (file)
@@ -636,6 +636,7 @@ void spawnfunc_worldspawn (void)
        addstat(STAT_BULLETS_LOADED, AS_INT, campingrifle_bulletcounter);
 
        // g_movementspeed hack
+       addstat(STAT_MOVEVARS_AIRSPEEDLIMIT_NONQW, AS_FLOAT, stat_sv_airspeedlimit_nonqw);
        addstat(STAT_MOVEVARS_AIRACCEL_QW, AS_FLOAT, stat_sv_airaccel_qw);
        addstat(STAT_MOVEVARS_AIRSTRAFEACCEL_QW, AS_FLOAT, stat_sv_airstrafeaccel_qw);
 
index f4cc8744518593fcb456907ece1c026174ab059e..45320f2db526f0303cb0f3e9d8aed3181e78c9e7 100644 (file)
@@ -198,6 +198,7 @@ void StartFrame (void)
        sv_warsowbunny_topspeed = cvar("sv_warsowbunny_topspeed");
        sv_warsowbunny_turnaccel = cvar("sv_warsowbunny_turnaccel");
        sv_warsowbunny_backtosideratio = cvar("sv_warsowbunny_backtosideratio");
+       sv_airspeedlimit_nonqw = cvar("sv_airspeedlimit_nonqw");
        teamplay = cvar ("teamplay");
        sys_frametime = cvar("sys_ticrate") * cvar("slowmo");
        sv_doublejump = cvar("sv_doublejump");