new air control math, new cvar sv_aircontrol_power
authorRudolf Polzer <divverent@alientrap.org>
Mon, 3 May 2010 19:46:04 +0000 (21:46 +0200)
committerRudolf Polzer <divverent@alientrap.org>
Mon, 3 May 2010 19:46:04 +0000 (21:46 +0200)
Conflicts:

physicsNoQWBunny.cfg
qcsrc/server/cl_physics.qc

26 files changed:
physics10.cfg
physics11.cfg
physics151.cfg
physics151b.cfg
physics16rc1.cfg
physics20.cfg
physics25.cfg
physics26.cfg
physicsCPMA.cfg
physicsHavoc.cfg
physicsLzd.cfg
physicsNexrun.cfg
physicsNexrun_old.cfg
physicsNoQWBunny.cfg
physicsQ.cfg
physicsQ2.cfg
physicsQ2a.cfg
physicsQ3.cfg
physicsQBF.cfg
physicsQBFplus.cfg
physicsSamual.cfg
physicsWarsow.cfg
physicsWarsowClassicBunny.cfg
physicsWarsowDev.cfg
qcsrc/server/cl_physics.qc
qcsrc/server/sv_main.qc

index 30f22a6cbc8e4f0a0ac843064df4e36880383c45..4d9a118b34054eaefa65f3d51a55d368faa25b65 100644 (file)
@@ -17,6 +17,7 @@ sv_airstopaccelerate 0
 sv_airstrafeaccelerate 0
 sv_maxairstrafespeed 0
 sv_aircontrol 0
+sv_aircontrol_power 2
 sv_warsowbunny_turnaccel 0
 sv_warsowbunny_accel 0.1593
 sv_warsowbunny_topspeed 925
index 46d6587b9e49af9a84b690d306a5d1ae871f7207..8fba5746a6449e439c5c8cbe79c3530a64067fcd 100644 (file)
@@ -17,6 +17,7 @@ sv_airstopaccelerate 0
 sv_airstrafeaccelerate 0
 sv_maxairstrafespeed 0
 sv_aircontrol 0
+sv_aircontrol_power 2
 sv_warsowbunny_turnaccel 0
 sv_warsowbunny_accel 0.1593
 sv_warsowbunny_topspeed 925
index e56e6f1a334a84c2e219bd82a577db4e96584d7b..59cf1de9dd3c39e3331c2388c2c3deb8c68f361b 100644 (file)
@@ -17,6 +17,7 @@ sv_airstopaccelerate 0
 sv_airstrafeaccelerate 0
 sv_maxairstrafespeed 0
 sv_aircontrol 0
+sv_aircontrol_power 2
 sv_warsowbunny_turnaccel 0
 sv_warsowbunny_accel 0.1593
 sv_warsowbunny_topspeed 925
index 528f62336bdf65b4ca90d78469cdbfc3277a1ce1..6ab373ffaedf270e66f3132b3612168998c617bd 100644 (file)
@@ -17,6 +17,7 @@ sv_airstopaccelerate 0
 sv_airstrafeaccelerate 0
 sv_maxairstrafespeed 0
 sv_aircontrol 0
+sv_aircontrol_power 2
 sv_warsowbunny_turnaccel 0
 sv_warsowbunny_accel 0.1593
 sv_warsowbunny_topspeed 925
index bdf1525518be8ffadbefede42bb266a339bcfde6..e6926e4c8ad39c9bdd166d34814879865787a7a7 100644 (file)
@@ -17,6 +17,7 @@ sv_airstopaccelerate 0
 sv_airstrafeaccelerate 0
 sv_maxairstrafespeed 0
 sv_aircontrol 0
+sv_aircontrol_power 2
 sv_warsowbunny_turnaccel 0
 sv_warsowbunny_accel 0.1593
 sv_warsowbunny_topspeed 925
index 6aaf747cc1c05ddac18ecf178af1dba271667f5f..39d1e6af5e6ec9ea8cc0304c518a2e02eda92e24 100644 (file)
@@ -17,6 +17,7 @@ sv_airstopaccelerate 0
 sv_airstrafeaccelerate 0
 sv_maxairstrafespeed 0
 sv_aircontrol 0
+sv_aircontrol_power 2
 sv_warsowbunny_turnaccel 0
 sv_warsowbunny_accel 0.1593
 sv_warsowbunny_topspeed 925
index b60f74b9a580c8e046da2cff350e07bb3ff72a8c..048d2bb061b5afbee95706b1800c744e6ff3a9b4 100644 (file)
@@ -17,6 +17,7 @@ sv_airstopaccelerate 0
 sv_airstrafeaccelerate 0
 sv_maxairstrafespeed 0
 sv_aircontrol 0
+sv_aircontrol_power 2
 sv_warsowbunny_turnaccel 0
 sv_warsowbunny_accel 0.1593
 sv_warsowbunny_topspeed 925
index a31467897663c3b706e5a0ab69b99e4983bb5301..b28cb4f7a0975389ac2da2bbc23e73607c29dc3a 100644 (file)
@@ -17,6 +17,7 @@ sv_airstopaccelerate 0
 sv_airstrafeaccelerate 0
 sv_maxairstrafespeed 0
 sv_aircontrol 0
+sv_aircontrol_power 2
 sv_warsowbunny_turnaccel 0
 sv_warsowbunny_accel 0.1593
 sv_warsowbunny_topspeed 925
index 95b34c25bdeeec83e7310cd058a528cf7d21647c..4ee66f297bc16ad994597771f9bbbdc959d5142f 100644 (file)
@@ -17,6 +17,7 @@ sv_airstopaccelerate 2.5
 sv_airstrafeaccelerate 70
 sv_maxairstrafespeed 30
 sv_aircontrol 150
+sv_aircontrol_power 2
 sv_warsowbunny_turnaccel 0
 sv_warsowbunny_accel 0.1593
 sv_warsowbunny_topspeed 925
index 78d4240430771aec3fc85b43529e2a73b702d6f7..1731b12d4b32b73c84e755283802a392ea1ec1f3 100644 (file)
@@ -17,6 +17,7 @@ sv_airstopaccelerate 0
 sv_airstrafeaccelerate 0
 sv_maxairstrafespeed 0
 sv_aircontrol 0
+sv_aircontrol_power 2
 sv_warsowbunny_turnaccel 0
 sv_warsowbunny_accel 0.1593
 sv_warsowbunny_topspeed 925
index 0349610e30309357587fd6bd7fb498c4d5da2ee2..d408285ea730d9592c40b784e0fc82be7f9aaabf 100644 (file)
@@ -18,6 +18,7 @@ sv_airstopaccelerate 0
 sv_airstrafeaccelerate 0
 sv_maxairstrafespeed 0
 sv_aircontrol 0
+sv_aircontrol_power 2
 sv_warsowbunny_turnaccel 0
 sv_warsowbunny_accel 0.1593
 sv_warsowbunny_topspeed 925
index 122c89b02270f12431187b497a7f4f17c01441f0..da81a24ee2a06a3537ee736bceb8dd130a346db4 100644 (file)
@@ -21,6 +21,7 @@ sv_airstopaccelerate 2.5
 sv_airstrafeaccelerate 70
 sv_maxairstrafespeed 30
 sv_aircontrol 150
+sv_aircontrol_power 2
 sv_warsowbunny_turnaccel 0
 sv_warsowbunny_accel 0.1593
 sv_warsowbunny_topspeed 925
index 6142cf2fc319cfcbd2dae6b6fca480d72eeab33d..164c48d4162e95346a94328d128fa8a750d9d4e1 100644 (file)
@@ -21,6 +21,7 @@ sv_airstopaccelerate 2.5
 sv_airstrafeaccelerate 70
 sv_maxairstrafespeed 30
 sv_aircontrol 150
+sv_aircontrol_power 2
 sv_warsowbunny_turnaccel 0
 sv_warsowbunny_accel 0.1593
 sv_warsowbunny_topspeed 925
index 6eb00e89c56581b93a6c9f22933dd5907fa4a08b..f8fefe09fb932ffe17e189a85dafd1c45486a01b 100644 (file)
@@ -17,6 +17,7 @@ sv_airstopaccelerate 0
 sv_airstrafeaccelerate 0
 sv_maxairstrafespeed 0
 sv_aircontrol 70
+sv_aircontrol_power 2
 sv_warsowbunny_turnaccel 0
 sv_warsowbunny_accel 0.1593
 sv_warsowbunny_topspeed 925
index 51cf682f360ca615174528c9f98ebbf6e132f6ed..343971ca1df1229a10f21486605c48efb9ef09ef 100644 (file)
@@ -18,6 +18,7 @@ sv_airstopaccelerate 0
 sv_airstrafeaccelerate 0
 sv_maxairstrafespeed 0
 sv_aircontrol 0
+sv_aircontrol_power 2
 sv_warsowbunny_turnaccel 0
 sv_warsowbunny_accel 0.1593
 sv_warsowbunny_topspeed 925
index ecbd2a3dde74c0640af838c773b0dabb78beb157..de8ff7239c7a23e5c1b10d256a082922ddd2f2cb 100644 (file)
@@ -17,6 +17,7 @@ sv_airstopaccelerate 0
 sv_airstrafeaccelerate 0
 sv_maxairstrafespeed 0
 sv_aircontrol 0
+sv_aircontrol_power 2
 sv_warsowbunny_turnaccel 0
 sv_warsowbunny_accel 0.1593
 sv_warsowbunny_topspeed 925
index 76c0ba17d91919283ae4ac2849fae94d2a9c79cc..ff08d0784f74edc5d310fe38715e06931c3899ff 100644 (file)
@@ -18,6 +18,7 @@ sv_airstopaccelerate 0
 sv_airstrafeaccelerate 0
 sv_maxairstrafespeed 0
 sv_aircontrol 0
+sv_aircontrol_power 2
 sv_warsowbunny_turnaccel 0
 sv_warsowbunny_accel 0.1593
 sv_warsowbunny_topspeed 925
index 6b8d4c1f85218e5e432c3e044daf09281b4cf21e..716728e9aa64849b0176e9aeb798ef5677b1c202 100644 (file)
@@ -17,6 +17,7 @@ sv_airstopaccelerate 0
 sv_airstrafeaccelerate 0
 sv_maxairstrafespeed 0
 sv_aircontrol 0
+sv_aircontrol_power 2
 sv_warsowbunny_turnaccel 0
 sv_warsowbunny_accel 0.1593
 sv_warsowbunny_topspeed 925
index 2e2d0b5e47fd5240d9511044bb2770947b3b1814..88e7e8f40e2e2dc5f932e21c4b43e39bfdda3181 100644 (file)
@@ -17,6 +17,7 @@ sv_airstopaccelerate 0
 sv_airstrafeaccelerate 0
 sv_maxairstrafespeed 0
 sv_aircontrol 0
+sv_aircontrol_power 2
 sv_warsowbunny_turnaccel 0
 sv_warsowbunny_accel 0.1593
 sv_warsowbunny_topspeed 925
index f64b2be4676d186176f348996f726487fcdb07cc..7c5da3f5e281fdb2158864c4c22ca697e739424e 100644 (file)
@@ -17,6 +17,7 @@ sv_airstopaccelerate 0
 sv_airstrafeaccelerate 0
 sv_maxairstrafespeed 0
 sv_aircontrol 0
+sv_aircontrol_power 2
 sv_warsowbunny_turnaccel 0
 sv_warsowbunny_accel 0.1593
 sv_warsowbunny_topspeed 925
index ce1d1d8c1f61720d6f4824e69be0bec4569416a1..3631c8011f140dd4871badad981bfe414f65044e 100644 (file)
@@ -16,6 +16,7 @@ sv_airstopaccelerate 0
 sv_airstrafeaccelerate 0
 sv_maxairstrafespeed 0
 sv_aircontrol 0
+sv_aircontrol_power 2
 sv_warsowbunny_turnaccel 0
 sv_warsowbunny_accel 0.1593
 sv_warsowbunny_topspeed 925
index eeb919bf86c42084c368b7db836f4b83c953c75e..bc53f7a6764faf514828af8766f7f4b48ffd86bf 100644 (file)
@@ -17,6 +17,7 @@ sv_airstopaccelerate 2.5
 sv_airstrafeaccelerate 70
 sv_maxairstrafespeed 30
 sv_aircontrol 0
+sv_aircontrol_power 2
 sv_warsowbunny_turnaccel 9 // activates warsow movement mode
 sv_warsowbunny_accel 0.1593
 sv_warsowbunny_topspeed 925
index 0a66f454377864ccc8ed3b065258a5969ce35858..6c60724d2228d343f1bab5c886b2c9400296f215 100644 (file)
@@ -17,6 +17,7 @@ sv_airstopaccelerate 2.5
 sv_airstrafeaccelerate 70
 sv_maxairstrafespeed 30
 sv_aircontrol 150
+sv_aircontrol_power 2
 sv_warsowbunny_turnaccel 0
 sv_warsowbunny_accel 0.1593
 sv_warsowbunny_topspeed 925
index 4f7fff927cc4b0ffedc38359d0dab238f867a5e0..324676d2ee587ccb6349ece0fec6a1f2ec21a596 100644 (file)
@@ -17,6 +17,7 @@ sv_airstopaccelerate 2
 sv_airstrafeaccelerate 70
 sv_maxairstrafespeed 30
 sv_aircontrol 0
+sv_aircontrol_power 2
 sv_warsowbunny_turnaccel 6 // activates warsow movement mode
 sv_warsowbunny_accel 0.1585
 sv_warsowbunny_topspeed 900
index 52477cb9a8976093372af11c0119dbd37238c3f7..ff5fbaa37ee4cf436796d3bc709e8164993c5de6 100644 (file)
@@ -14,6 +14,7 @@ float sv_airstopaccelerate;
 float sv_airstrafeaccelerate;
 float sv_maxairstrafespeed;
 float sv_aircontrol;
+float sv_aircontrol_power;
 float sv_warsowbunny_airforwardaccel;
 float sv_warsowbunny_accel;
 float sv_warsowbunny_topspeed;
@@ -416,10 +417,10 @@ void CPM_PM_Aircontrol(vector wishdir, float wishspeed)
        xyspeed = vlen(self.velocity); self.velocity = normalize(self.velocity);
 
        dot = self.velocity * wishdir;
-       k *= sv_aircontrol*dot*dot*frametime;
 
        if(dot > 0) // we can't change direction while slowing down
        {
+               k *= fabs(sv_aircontrol)*pow(dot, sv_aircontrol_power)*frametime;
                self.velocity = normalize(self.velocity * xyspeed + wishdir * k);
        }
 
index f9eb9d2a0a41cb6fbf36c1653df8d28f8f7c1ba8..603aad7fd0977eb30b0f84f651db59d1677a1358 100644 (file)
@@ -191,6 +191,7 @@ void StartFrame (void)
        sv_airstrafeaccelerate = cvar("sv_airstrafeaccelerate");
        sv_maxairstrafespeed = cvar("sv_maxairstrafespeed");
        sv_aircontrol = cvar("sv_aircontrol");
+       sv_aircontrol_power = cvar("sv_aircontrol_power");
        sv_warsowbunny_airforwardaccel = cvar("sv_warsowbunny_airforwardaccel");
        sv_warsowbunny_accel = cvar("sv_warsowbunny_accel");
        sv_warsowbunny_topspeed = cvar("sv_warsowbunny_topspeed");