From b2e411fc9fc541b28bcf4e3794336d148b752abc Mon Sep 17 00:00:00 2001 From: Rudolf Polzer Date: Mon, 3 May 2010 21:46:04 +0200 Subject: [PATCH] new air control math, new cvar sv_aircontrol_power Conflicts: physicsNoQWBunny.cfg qcsrc/server/cl_physics.qc --- physics10.cfg | 1 + physics11.cfg | 1 + physics151.cfg | 1 + physics151b.cfg | 1 + physics16rc1.cfg | 1 + physics20.cfg | 1 + physics25.cfg | 1 + physics26.cfg | 1 + physicsCPMA.cfg | 1 + physicsHavoc.cfg | 1 + physicsLzd.cfg | 1 + physicsNexrun.cfg | 1 + physicsNexrun_old.cfg | 1 + physicsNoQWBunny.cfg | 1 + physicsQ.cfg | 1 + physicsQ2.cfg | 1 + physicsQ2a.cfg | 1 + physicsQ3.cfg | 1 + physicsQBF.cfg | 1 + physicsQBFplus.cfg | 1 + physicsSamual.cfg | 1 + physicsWarsow.cfg | 1 + physicsWarsowClassicBunny.cfg | 1 + physicsWarsowDev.cfg | 1 + qcsrc/server/cl_physics.qc | 3 ++- qcsrc/server/sv_main.qc | 1 + 26 files changed, 27 insertions(+), 1 deletion(-) diff --git a/physics10.cfg b/physics10.cfg index 30f22a6cb..4d9a118b3 100644 --- a/physics10.cfg +++ b/physics10.cfg @@ -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 diff --git a/physics11.cfg b/physics11.cfg index 46d6587b9..8fba5746a 100644 --- a/physics11.cfg +++ b/physics11.cfg @@ -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 diff --git a/physics151.cfg b/physics151.cfg index e56e6f1a3..59cf1de9d 100644 --- a/physics151.cfg +++ b/physics151.cfg @@ -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 diff --git a/physics151b.cfg b/physics151b.cfg index 528f62336..6ab373ffa 100644 --- a/physics151b.cfg +++ b/physics151b.cfg @@ -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 diff --git a/physics16rc1.cfg b/physics16rc1.cfg index bdf152551..e6926e4c8 100644 --- a/physics16rc1.cfg +++ b/physics16rc1.cfg @@ -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 diff --git a/physics20.cfg b/physics20.cfg index 6aaf747cc..39d1e6af5 100644 --- a/physics20.cfg +++ b/physics20.cfg @@ -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 diff --git a/physics25.cfg b/physics25.cfg index b60f74b9a..048d2bb06 100644 --- a/physics25.cfg +++ b/physics25.cfg @@ -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 diff --git a/physics26.cfg b/physics26.cfg index a31467897..b28cb4f7a 100644 --- a/physics26.cfg +++ b/physics26.cfg @@ -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 diff --git a/physicsCPMA.cfg b/physicsCPMA.cfg index 95b34c25b..4ee66f297 100644 --- a/physicsCPMA.cfg +++ b/physicsCPMA.cfg @@ -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 diff --git a/physicsHavoc.cfg b/physicsHavoc.cfg index 78d424043..1731b12d4 100644 --- a/physicsHavoc.cfg +++ b/physicsHavoc.cfg @@ -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 diff --git a/physicsLzd.cfg b/physicsLzd.cfg index 0349610e3..d408285ea 100644 --- a/physicsLzd.cfg +++ b/physicsLzd.cfg @@ -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 diff --git a/physicsNexrun.cfg b/physicsNexrun.cfg index 122c89b02..da81a24ee 100644 --- a/physicsNexrun.cfg +++ b/physicsNexrun.cfg @@ -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 diff --git a/physicsNexrun_old.cfg b/physicsNexrun_old.cfg index 6142cf2fc..164c48d41 100644 --- a/physicsNexrun_old.cfg +++ b/physicsNexrun_old.cfg @@ -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 diff --git a/physicsNoQWBunny.cfg b/physicsNoQWBunny.cfg index 6eb00e89c..f8fefe09f 100644 --- a/physicsNoQWBunny.cfg +++ b/physicsNoQWBunny.cfg @@ -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 diff --git a/physicsQ.cfg b/physicsQ.cfg index 51cf682f3..343971ca1 100644 --- a/physicsQ.cfg +++ b/physicsQ.cfg @@ -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 diff --git a/physicsQ2.cfg b/physicsQ2.cfg index ecbd2a3dd..de8ff7239 100644 --- a/physicsQ2.cfg +++ b/physicsQ2.cfg @@ -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 diff --git a/physicsQ2a.cfg b/physicsQ2a.cfg index 76c0ba17d..ff08d0784 100644 --- a/physicsQ2a.cfg +++ b/physicsQ2a.cfg @@ -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 diff --git a/physicsQ3.cfg b/physicsQ3.cfg index 6b8d4c1f8..716728e9a 100644 --- a/physicsQ3.cfg +++ b/physicsQ3.cfg @@ -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 diff --git a/physicsQBF.cfg b/physicsQBF.cfg index 2e2d0b5e4..88e7e8f40 100644 --- a/physicsQBF.cfg +++ b/physicsQBF.cfg @@ -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 diff --git a/physicsQBFplus.cfg b/physicsQBFplus.cfg index f64b2be46..7c5da3f5e 100644 --- a/physicsQBFplus.cfg +++ b/physicsQBFplus.cfg @@ -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 diff --git a/physicsSamual.cfg b/physicsSamual.cfg index ce1d1d8c1..3631c8011 100644 --- a/physicsSamual.cfg +++ b/physicsSamual.cfg @@ -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 diff --git a/physicsWarsow.cfg b/physicsWarsow.cfg index eeb919bf8..bc53f7a67 100644 --- a/physicsWarsow.cfg +++ b/physicsWarsow.cfg @@ -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 diff --git a/physicsWarsowClassicBunny.cfg b/physicsWarsowClassicBunny.cfg index 0a66f4543..6c60724d2 100644 --- a/physicsWarsowClassicBunny.cfg +++ b/physicsWarsowClassicBunny.cfg @@ -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 diff --git a/physicsWarsowDev.cfg b/physicsWarsowDev.cfg index 4f7fff927..324676d2e 100644 --- a/physicsWarsowDev.cfg +++ b/physicsWarsowDev.cfg @@ -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 diff --git a/qcsrc/server/cl_physics.qc b/qcsrc/server/cl_physics.qc index 52477cb9a..ff5fbaa37 100644 --- a/qcsrc/server/cl_physics.qc +++ b/qcsrc/server/cl_physics.qc @@ -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); } diff --git a/qcsrc/server/sv_main.qc b/qcsrc/server/sv_main.qc index f9eb9d2a0..603aad7fd 100644 --- a/qcsrc/server/sv_main.qc +++ b/qcsrc/server/sv_main.qc @@ -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"); -- 2.39.2