]> git.xonotic.org Git - xonotic/xonotic-data.pk3dir.git/commitdiff
sv_aircontrol_penalty (use it instead of sideways friction in XPMLight)
authorRudolf Polzer <divverent@alientrap.org>
Tue, 20 Jul 2010 07:02:33 +0000 (09:02 +0200)
committerRudolf Polzer <divverent@alientrap.org>
Tue, 20 Jul 2010 07:02:33 +0000 (09:02 +0200)
28 files changed:
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
physicsNoQWBunny_easy.cfg
physicsQ.cfg
physicsQ2.cfg
physicsQ2a.cfg
physicsQ3.cfg
physicsQBF.cfg
physicsQBFplus.cfg
physicsSamual.cfg
physicsWarsow.cfg
physicsWarsowClassicBunny.cfg
physicsWarsowDev.cfg
physicsXPM.cfg
physicsXPMLight.cfg
qcsrc/server/cl_physics.qc
qcsrc/server/sv_main.qc

index 4631d5ea7b5f6d129267ab4858387545ea97fd76..6e112b9f67f3ccdcc7e26a0c7477a4fe85d16120 100644 (file)
@@ -18,6 +18,7 @@ sv_airstrafeaccelerate 0
 sv_maxairstrafespeed 0
 sv_airstrafeaccel_qw 0
 sv_aircontrol 0
+sv_aircontrol_penalty 0
 sv_aircontrol_power 2
 sv_airspeedlimit_nonqw 0
 sv_warsowbunny_turnaccel 0
index 8c8219af5fa0fd30a05e4f178a865a6e1a68690c..d4e1f54ababe70d5aadcbc7cdac254b344881e94 100644 (file)
@@ -18,6 +18,7 @@ sv_airstrafeaccelerate 0
 sv_maxairstrafespeed 0
 sv_airstrafeaccel_qw 0
 sv_aircontrol 0
+sv_aircontrol_penalty 0
 sv_aircontrol_power 2
 sv_airspeedlimit_nonqw 0
 sv_warsowbunny_turnaccel 0
index 9707f6f7ce6002d736d5c00b75256921d162f1eb..6cb19f1bde23333f0f2363419496b0dc72b3ce5c 100644 (file)
@@ -18,6 +18,7 @@ sv_airstrafeaccelerate 0
 sv_maxairstrafespeed 0
 sv_airstrafeaccel_qw 0
 sv_aircontrol 0
+sv_aircontrol_penalty 0
 sv_aircontrol_power 2
 sv_airspeedlimit_nonqw 0
 sv_warsowbunny_turnaccel 0
index 475875b1a2f316341c8c975580d58188292addc1..4796765cd3db3c906d7c0b436120d755d2f7c9b9 100644 (file)
@@ -18,6 +18,7 @@ sv_airstrafeaccelerate 0
 sv_maxairstrafespeed 0
 sv_airstrafeaccel_qw 0
 sv_aircontrol 0
+sv_aircontrol_penalty 0
 sv_aircontrol_power 2
 sv_airspeedlimit_nonqw 0
 sv_warsowbunny_turnaccel 0
index 68a8f198ef6e48d074efa4aa153b53f110b7b9de..c4d60c7f333b0a84d84315158ed8f82c77ff308e 100644 (file)
@@ -18,6 +18,7 @@ sv_airstrafeaccelerate 0
 sv_maxairstrafespeed 0
 sv_airstrafeaccel_qw 0
 sv_aircontrol 0
+sv_aircontrol_penalty 0
 sv_aircontrol_power 2
 sv_airspeedlimit_nonqw 0
 sv_warsowbunny_turnaccel 0
index b2e056ee5a9e092fd0dc011683ccdae0ac5e6449..d317514c00f0232528c7c97a3078c976bdbc3f07 100644 (file)
@@ -18,6 +18,7 @@ sv_airstrafeaccelerate 0
 sv_maxairstrafespeed 0
 sv_airstrafeaccel_qw 0
 sv_aircontrol 0
+sv_aircontrol_penalty 0
 sv_aircontrol_power 2
 sv_airspeedlimit_nonqw 0
 sv_warsowbunny_turnaccel 0
index 85e4841cd127b739ddfcfc2e757e020787557e53..af5f3863278bdab434c3217c22fbc00062607ef6 100644 (file)
@@ -18,6 +18,7 @@ sv_airstrafeaccelerate 0
 sv_maxairstrafespeed 0
 sv_airstrafeaccel_qw 0
 sv_aircontrol 0
+sv_aircontrol_penalty 0
 sv_aircontrol_power 2
 sv_airspeedlimit_nonqw 0
 sv_warsowbunny_turnaccel 0
index 0e4de396e70cdcb29b59e143a6e70ca021ec9edf..8fa5abc006df61b586cd358c6b4f55cab50feeca 100644 (file)
@@ -18,6 +18,7 @@ sv_airstrafeaccelerate 0
 sv_maxairstrafespeed 0
 sv_airstrafeaccel_qw 0
 sv_aircontrol 0
+sv_aircontrol_penalty 0
 sv_aircontrol_power 2
 sv_airspeedlimit_nonqw 0
 sv_warsowbunny_turnaccel 0
index d572e6d97f5606864aa6e57f4edb976c10596ef5..5660a33421e5d6d3f65b4651789af40e2dc33334 100644 (file)
@@ -18,6 +18,7 @@ sv_airstrafeaccelerate 70
 sv_maxairstrafespeed 30
 sv_airstrafeaccel_qw 0
 sv_aircontrol 150
+sv_aircontrol_penalty 0
 sv_aircontrol_power 2
 sv_airspeedlimit_nonqw 0
 sv_warsowbunny_turnaccel 0
index eb63775623b486ae5e77ed5a0cd8c64e6fd5face..f328f8967b67db1c46b4af61d66c5dd87951e2da 100644 (file)
@@ -18,6 +18,7 @@ sv_airstrafeaccelerate 0
 sv_maxairstrafespeed 0
 sv_airstrafeaccel_qw 0
 sv_aircontrol 0
+sv_aircontrol_penalty 0
 sv_aircontrol_power 2
 sv_airspeedlimit_nonqw 0
 sv_warsowbunny_turnaccel 0
index 4a959db3e94685a9b405861c8ef01f7d421d411e..b162e5f80096f1d8ea2d970afc348f5aa80976dc 100644 (file)
@@ -19,6 +19,7 @@ sv_airstrafeaccelerate 0
 sv_maxairstrafespeed 0
 sv_airstrafeaccel_qw 0
 sv_aircontrol 0
+sv_aircontrol_penalty 0
 sv_aircontrol_power 2
 sv_airspeedlimit_nonqw 0
 sv_warsowbunny_turnaccel 0
index 2b437d3443a0dd62dfcad4602064d7de51c07dd2..064499002a2981fd266240bbb63bc2467eafc4dd 100644 (file)
@@ -19,6 +19,7 @@ sv_airstrafeaccelerate 0
 sv_maxairstrafespeed 0
 sv_airstrafeaccel_qw 0
 sv_aircontrol 0
+sv_aircontrol_penalty 0
 sv_aircontrol_power 2
 sv_airspeedlimit_nonqw 0
 sv_warsowbunny_turnaccel 0
index d70bc1bde1fa2a981a5ac98d55f45aa559ea9a18..5a8732b680859d69cbe170bd741fdec529fb97fd 100644 (file)
@@ -18,6 +18,7 @@ sv_airstrafeaccelerate 24
 sv_maxairstrafespeed 100
 sv_airstrafeaccel_qw -0.9825
 sv_aircontrol 125
+sv_aircontrol_penalty 0
 sv_aircontrol_power 2.5
 sv_airspeedlimit_nonqw 0
 sv_warsowbunny_turnaccel 0
index ff8cd3bcce84b2433f119419c605bc1fa7b6201e..721f819b3d39fc2593c36422885f2a80c6b638de 100644 (file)
@@ -18,6 +18,7 @@ sv_airstrafeaccelerate 0
 sv_maxairstrafespeed 0
 sv_airstrafeaccel_qw 0
 sv_aircontrol 125
+sv_aircontrol_penalty 0
 sv_aircontrol_power 2.5
 sv_airspeedlimit_nonqw 0
 sv_warsowbunny_turnaccel 0
index ea8e1acf7bdd167e971f3a30dde9ca6fdeafb571..6fb02afe7880a41e02bb26f8242030acb6c9f5ef 100644 (file)
@@ -19,6 +19,7 @@ sv_airstrafeaccelerate 0
 sv_maxairstrafespeed 0
 sv_airstrafeaccel_qw 0
 sv_aircontrol 0
+sv_aircontrol_penalty 0
 sv_aircontrol_power 2
 sv_airspeedlimit_nonqw 0
 sv_warsowbunny_turnaccel 0
index 1d08ae8c7400b13cac0c0b1ca23207e8d10ce3b3..927fef3c44edd49d4ddf7eced660035966311204 100644 (file)
@@ -18,6 +18,7 @@ sv_airstrafeaccelerate 0
 sv_maxairstrafespeed 0
 sv_airstrafeaccel_qw 0
 sv_aircontrol 0
+sv_aircontrol_penalty 0
 sv_aircontrol_power 2
 sv_airspeedlimit_nonqw 0
 sv_warsowbunny_turnaccel 0
index 7409ae4be2c327173ea97be61ab07de43d7863cd..7828cc608b2303368ab4bb3bfb32f2fc879a1ed8 100644 (file)
@@ -19,6 +19,7 @@ sv_airstrafeaccelerate 0
 sv_maxairstrafespeed 0
 sv_airstrafeaccel_qw 0
 sv_aircontrol 0
+sv_aircontrol_penalty 0
 sv_aircontrol_power 2
 sv_airspeedlimit_nonqw 0
 sv_warsowbunny_turnaccel 0
index 1951becf20abd05d24685a6e51b813dabe592b23..37973aef68f90d59a53e9ec7aaa1793cb6bfb939 100644 (file)
@@ -18,6 +18,7 @@ sv_airstrafeaccelerate 0
 sv_maxairstrafespeed 0
 sv_airstrafeaccel_qw 0
 sv_aircontrol 0
+sv_aircontrol_penalty 0
 sv_aircontrol_power 2
 sv_airspeedlimit_nonqw 0
 sv_warsowbunny_turnaccel 0
index 4bbb9be2d4f91eab389b0653e9fcf12e83743edd..2f325586e363f133153ffcce967a796807d6c5e5 100644 (file)
@@ -18,6 +18,7 @@ sv_airstrafeaccelerate 0
 sv_maxairstrafespeed 0
 sv_airstrafeaccel_qw 0
 sv_aircontrol 0
+sv_aircontrol_penalty 0
 sv_aircontrol_power 2
 sv_airspeedlimit_nonqw 0
 sv_warsowbunny_turnaccel 0
index 6c17ad683b7905284ec5ff9d65e94c41e8c36453..03be62dd43d66b6c586750aef68e42a1fd7140bb 100644 (file)
@@ -18,6 +18,7 @@ sv_airstrafeaccelerate 0
 sv_maxairstrafespeed 0
 sv_airstrafeaccel_qw 0
 sv_aircontrol 0
+sv_aircontrol_penalty 0
 sv_aircontrol_power 2
 sv_airspeedlimit_nonqw 0
 sv_warsowbunny_turnaccel 0
index e03363a088ba30a3d59e1c9d8eccbefa1f5595d0..7492b415c56220840633b2aa256913b391931e2f 100644 (file)
@@ -18,6 +18,7 @@ sv_airstrafeaccelerate 0
 sv_maxairstrafespeed 0
 sv_airstrafeaccel_qw 0
 sv_aircontrol 0
+sv_aircontrol_penalty 0
 sv_aircontrol_power 2
 sv_airspeedlimit_nonqw 0
 sv_warsowbunny_turnaccel 0
index b1b0655cbc863b9a7394076401300b61cf3579fe..811084dd5f316c3e8e32120cf8f3a8279d5a1be6 100644 (file)
@@ -18,6 +18,7 @@ sv_airstrafeaccelerate 70
 sv_maxairstrafespeed 30
 sv_airstrafeaccel_qw 0
 sv_aircontrol 0
+sv_aircontrol_penalty 0
 sv_aircontrol_power 2
 sv_airspeedlimit_nonqw 0
 sv_warsowbunny_turnaccel 9 // activates warsow movement mode
index 06e7c1a575c61ffba43a5382974affbc32128ef6..467c4212a02626942b5557f0d86c5a740f1b9d5f 100644 (file)
@@ -18,6 +18,7 @@ sv_airstrafeaccelerate 70
 sv_maxairstrafespeed 30
 sv_airstrafeaccel_qw 0
 sv_aircontrol 150
+sv_aircontrol_penalty 0
 sv_aircontrol_power 2
 sv_airspeedlimit_nonqw 0
 sv_warsowbunny_turnaccel 0
index cb07a488180082f927575f3c39ee515f9aaf648b..8a62f3e053c355a24d1f14c519f0e0d6a009e849 100644 (file)
@@ -18,6 +18,7 @@ sv_airstrafeaccelerate 70
 sv_maxairstrafespeed 30
 sv_airstrafeaccel_qw 0
 sv_aircontrol 0
+sv_aircontrol_penalty 0
 sv_aircontrol_power 2
 sv_airspeedlimit_nonqw 0
 sv_warsowbunny_turnaccel 6 // activates warsow movement mode
index 2a60b65178257fbea2efabc866eb59866fb6d780..e523f462f8dfabba3dc16d73bf14f749c7ed94f7 100644 (file)
@@ -22,6 +22,7 @@ sv_airstrafeaccelerate 70
 sv_maxairstrafespeed 30
 sv_airstrafeaccel_qw 1
 sv_aircontrol 150
+sv_aircontrol_penalty 0
 sv_aircontrol_power 2
 sv_airspeedlimit_nonqw 0
 sv_warsowbunny_turnaccel 0
index 6fd5138719740ca9e4f0fe7b0153db712e0f0463..c429b47a9277f91e611421f7a5b304d7efb442ac 100644 (file)
@@ -14,7 +14,7 @@ sv_stepheight 34
 sv_jumpvelocity 270
 sv_wateraccelerate 4
 sv_waterfriction 1
-sv_airaccel_sideways_friction -0.2
+sv_airaccel_sideways_friction 0
 sv_airaccel_qw -0.934375
 // CPMA: 1
 sv_airstopaccelerate 6.5625 // matches strafe-stopping speed
@@ -22,6 +22,7 @@ sv_airstrafeaccelerate 14
 sv_maxairstrafespeed 150
 sv_airstrafeaccel_qw -0.99
 sv_aircontrol 100
+sv_aircontrol_penalty 100
 sv_aircontrol_power 2.5
 sv_airspeedlimit_nonqw 0
 sv_warsowbunny_turnaccel 0
index ac6789586793c86387026ffdfbb787d44850cebd..8f3a9aa175c089bc379e9dcf64fc24a232795fc0 100644 (file)
@@ -16,6 +16,7 @@ float sv_maxairstrafespeed;
 float sv_airstrafeaccel_qw;
 float sv_aircontrol;
 float sv_aircontrol_power;
+float sv_aircontrol_penalty;
 float sv_warsowbunny_airforwardaccel;
 float sv_warsowbunny_accel;
 float sv_warsowbunny_topspeed;
@@ -470,7 +471,9 @@ void CPM_PM_Aircontrol(vector wishdir, float wishspeed)
 
        if(dot > 0) // we can't change direction while slowing down
        {
-               k *= fabs(sv_aircontrol)*pow(dot, sv_aircontrol_power)*frametime;
+               k *= pow(dot, sv_aircontrol_power)*frametime;
+               xyspeed = max(0, xyspeed - sv_aircontrol_penalty * sqrt(max(0, 1 - dot*dot)) * k/32);
+               k *= sv_aircontrol;
                self.velocity = normalize(self.velocity * xyspeed + wishdir * k);
        }
 
index a79f9a473b0638911a9918f2ec78513eab9a0cca..44a47c95dc5ed653c2cf40afb68bf7c788570b5d 100644 (file)
@@ -191,6 +191,7 @@ void StartFrame (void)
        sv_maxairstrafespeed = cvar("sv_maxairstrafespeed");
        sv_airstrafeaccel_qw = cvar("sv_airstrafeaccel_qw");
        sv_aircontrol = cvar("sv_aircontrol");
+       sv_aircontrol_penalty = cvar("sv_aircontrol_penalty");
        sv_aircontrol_power = cvar("sv_aircontrol_power");
        sv_warsowbunny_airforwardaccel = cvar("sv_warsowbunny_airforwardaccel");
        sv_warsowbunny_accel = cvar("sv_warsowbunny_accel");