From: Samual Date: Thu, 19 May 2011 00:08:59 +0000 (-0400) Subject: Merge remote branch 'origin/master' into samual/flyingspectators X-Git-Tag: xonotic-v0.5.0~109^2~12 X-Git-Url: http://de.git.xonotic.org/?p=xonotic%2Fxonotic-data.pk3dir.git;a=commitdiff_plain;h=7204ed4f20ffc2ac138f4adf278de52128529fe6;hp=ad2a02870d321031343f94bee328392c7156bafb Merge remote branch 'origin/master' into samual/flyingspectators --- diff --git a/defaultXonotic.cfg b/defaultXonotic.cfg index 7c3fb2100a..0f808b62d2 100644 --- a/defaultXonotic.cfg +++ b/defaultXonotic.cfg @@ -2139,7 +2139,7 @@ alias sRGBcorrect_off "r_texture_sRGB_skin_diffuse 0;r_texture_sRGB_skin_gloss 0 exec balanceXonotic.cfg exec ctfscoring-ai.cfg exec effects-normal.cfg -exec physicsX0.cfg +exec physicsX.cfg exec turrets.cfg // hud cvar descriptions diff --git a/physicsCPMA.cfg b/physicsCPMA.cfg index cbfd802bbe..620ec882e5 100644 --- a/physicsCPMA.cfg +++ b/physicsCPMA.cfg @@ -13,6 +13,7 @@ sv_wateraccelerate 4 sv_waterfriction 1 sv_airaccel_sideways_friction 0 sv_airaccel_qw 1 +sv_airaccel_qw_stretchfactor 0 sv_airstopaccelerate 2.5 sv_airstrafeaccelerate 70 sv_maxairstrafespeed 30 diff --git a/physicsFruit.cfg b/physicsFruit.cfg index 6467afad4c..1afb26330c 100644 --- a/physicsFruit.cfg +++ b/physicsFruit.cfg @@ -13,6 +13,7 @@ sv_wateraccelerate -1 sv_waterfriction -1 sv_airaccel_sideways_friction 0 // breaks strafing? sv_airaccel_qw 0.92 +sv_airaccel_qw_stretchfactor 0 sv_airstopaccelerate 2.5 sv_airstrafeaccelerate 20 sv_maxairstrafespeed 100 diff --git a/physicsHavoc.cfg b/physicsHavoc.cfg index a19617d93f..d78346e1b6 100644 --- a/physicsHavoc.cfg +++ b/physicsHavoc.cfg @@ -13,6 +13,7 @@ sv_wateraccelerate -1 sv_waterfriction -1 sv_airaccel_sideways_friction 0.65 sv_airaccel_qw 0.95 +sv_airaccel_qw_stretchfactor 0 sv_airstopaccelerate 0 sv_airstrafeaccelerate 0 sv_maxairstrafespeed 0 diff --git a/physicsLeeStricklin-ModdedFruit.cfg b/physicsLeeStricklin-ModdedFruit.cfg index c3329426e1..21bafef57c 100644 --- a/physicsLeeStricklin-ModdedFruit.cfg +++ b/physicsLeeStricklin-ModdedFruit.cfg @@ -20,6 +20,7 @@ sv_wateraccelerate -1 sv_waterfriction -1 sv_airaccel_sideways_friction 0 // breaks strafing? sv_airaccel_qw -0.8 +sv_airaccel_qw_stretchfactor 0 sv_airstopaccelerate -0.95 sv_airstrafeaccelerate 24 diff --git a/physicsLeeStricklin.cfg b/physicsLeeStricklin.cfg index 2f23ae763d..3c740da337 100644 --- a/physicsLeeStricklin.cfg +++ b/physicsLeeStricklin.cfg @@ -20,6 +20,7 @@ sv_wateraccelerate -1 sv_waterfriction -1 sv_airaccel_sideways_friction 0 sv_airaccel_qw -0.8 +sv_airaccel_qw_stretchfactor 0 sv_airstopaccelerate 3 sv_airstrafeaccelerate 24 diff --git a/physicsLeeStricklinOld.cfg b/physicsLeeStricklinOld.cfg index bb6133a8b7..d240d991b3 100644 --- a/physicsLeeStricklinOld.cfg +++ b/physicsLeeStricklinOld.cfg @@ -15,6 +15,7 @@ sv_wateraccelerate -1 sv_waterfriction -1 sv_airaccel_sideways_friction 0 // pain in the ass to tweak without screwing up the strafing sv_airaccel_qw -0.93 //given a negative value to combat potential cheats, was told by divVerent not to mess with it +sv_airaccel_qw_stretchfactor 0 sv_airstopaccelerate 0 sv_airstrafeaccelerate 0 diff --git a/physicsLzd.cfg b/physicsLzd.cfg index 01e446e8ba..86b4bdcf02 100644 --- a/physicsLzd.cfg +++ b/physicsLzd.cfg @@ -14,6 +14,7 @@ sv_wateraccelerate -1 sv_waterfriction -1 sv_airaccel_sideways_friction 0.35 sv_airaccel_qw 0.95 +sv_airaccel_qw_stretchfactor 0 sv_airstopaccelerate 0 sv_airstrafeaccelerate 0 sv_maxairstrafespeed 0 diff --git a/physicsNexuiz10.cfg b/physicsNexuiz10.cfg index de2ff25912..a6673a28e2 100644 --- a/physicsNexuiz10.cfg +++ b/physicsNexuiz10.cfg @@ -13,6 +13,7 @@ sv_wateraccelerate -1 sv_waterfriction -1 sv_airaccel_sideways_friction 0 sv_airaccel_qw 0 +sv_airaccel_qw_stretchfactor 0 sv_airstopaccelerate 0 sv_airstrafeaccelerate 0 sv_maxairstrafespeed 0 diff --git a/physicsNexuiz11.cfg b/physicsNexuiz11.cfg index 64ac7b019c..60459c3747 100644 --- a/physicsNexuiz11.cfg +++ b/physicsNexuiz11.cfg @@ -13,6 +13,7 @@ sv_wateraccelerate -1 sv_waterfriction -1 sv_airaccel_sideways_friction 0 sv_airaccel_qw 0 +sv_airaccel_qw_stretchfactor 0 sv_airstopaccelerate 0 sv_airstrafeaccelerate 0 sv_maxairstrafespeed 0 diff --git a/physicsNexuiz151.cfg b/physicsNexuiz151.cfg index c527b29efb..b099d4cf34 100644 --- a/physicsNexuiz151.cfg +++ b/physicsNexuiz151.cfg @@ -13,6 +13,7 @@ sv_wateraccelerate -1 sv_waterfriction -1 sv_airaccel_sideways_friction 0 sv_airaccel_qw 0 +sv_airaccel_qw_stretchfactor 0 sv_airstopaccelerate 0 sv_airstrafeaccelerate 0 sv_maxairstrafespeed 0 diff --git a/physicsNexuiz151b.cfg b/physicsNexuiz151b.cfg index aa2f530cdf..8821b5a319 100644 --- a/physicsNexuiz151b.cfg +++ b/physicsNexuiz151b.cfg @@ -13,6 +13,7 @@ sv_wateraccelerate -1 sv_waterfriction -1 sv_airaccel_sideways_friction 0 sv_airaccel_qw 0 +sv_airaccel_qw_stretchfactor 0 sv_airstopaccelerate 0 sv_airstrafeaccelerate 0 sv_maxairstrafespeed 0 diff --git a/physicsNexuiz16rc1.cfg b/physicsNexuiz16rc1.cfg index 0622e1a481..ff6343f781 100644 --- a/physicsNexuiz16rc1.cfg +++ b/physicsNexuiz16rc1.cfg @@ -13,6 +13,7 @@ sv_wateraccelerate -1 sv_waterfriction -1 sv_airaccel_sideways_friction 0 sv_airaccel_qw 0 +sv_airaccel_qw_stretchfactor 0 sv_airstopaccelerate 0 sv_airstrafeaccelerate 0 sv_maxairstrafespeed 0 diff --git a/physicsNexuiz20.cfg b/physicsNexuiz20.cfg index 1d15fe1d67..0834bb5aa6 100644 --- a/physicsNexuiz20.cfg +++ b/physicsNexuiz20.cfg @@ -13,6 +13,7 @@ sv_wateraccelerate -1 sv_waterfriction -1 sv_airaccel_sideways_friction 0.3 sv_airaccel_qw 0.93 +sv_airaccel_qw_stretchfactor 0 sv_airstopaccelerate 0 sv_airstrafeaccelerate 0 sv_maxairstrafespeed 0 diff --git a/physicsNexuiz25.cfg b/physicsNexuiz25.cfg index 5b6db6b944..8c5ab5e851 100644 --- a/physicsNexuiz25.cfg +++ b/physicsNexuiz25.cfg @@ -13,6 +13,7 @@ sv_wateraccelerate -1 sv_waterfriction -1 sv_airaccel_sideways_friction 0.35 sv_airaccel_qw 0.95 +sv_airaccel_qw_stretchfactor 0 sv_airstopaccelerate 0 sv_airstrafeaccelerate 0 sv_maxairstrafespeed 0 diff --git a/physicsNexuiz26.cfg b/physicsNexuiz26.cfg index f7661523ea..4e104d1aa9 100644 --- a/physicsNexuiz26.cfg +++ b/physicsNexuiz26.cfg @@ -13,6 +13,7 @@ sv_wateraccelerate -1 sv_waterfriction -1 sv_airaccel_sideways_friction 0.35 sv_airaccel_qw 0.95 +sv_airaccel_qw_stretchfactor 0 sv_airstopaccelerate 0 sv_airstrafeaccelerate 0 sv_maxairstrafespeed 0 diff --git a/physicsNoQWBunny-nexbased.cfg b/physicsNoQWBunny-nexbased.cfg index 2f12a4ebce..e74b332ede 100644 --- a/physicsNoQWBunny-nexbased.cfg +++ b/physicsNoQWBunny-nexbased.cfg @@ -21,6 +21,7 @@ sv_wateraccelerate -1 sv_waterfriction -1 sv_airaccel_sideways_friction 0 sv_airaccel_qw -0.9475 +sv_airaccel_qw_stretchfactor 0 sv_airstopaccelerate 3 sv_airstrafeaccelerate 24 diff --git a/physicsQ.cfg b/physicsQ.cfg index 509310843b..1eb53ab383 100644 --- a/physicsQ.cfg +++ b/physicsQ.cfg @@ -14,6 +14,7 @@ sv_wateraccelerate -1 sv_waterfriction -1 sv_airaccel_sideways_friction 0 sv_airaccel_qw 1 +sv_airaccel_qw_stretchfactor 0 sv_airstopaccelerate 0 sv_airstrafeaccelerate 0 sv_maxairstrafespeed 0 diff --git a/physicsQ2.cfg b/physicsQ2.cfg index dc580a5119..2e3c0af6f3 100644 --- a/physicsQ2.cfg +++ b/physicsQ2.cfg @@ -13,6 +13,7 @@ sv_wateraccelerate -1 sv_waterfriction 1 sv_airaccel_sideways_friction 0 sv_airaccel_qw 1 +sv_airaccel_qw_stretchfactor 0 sv_airstopaccelerate 0 sv_airstrafeaccelerate 0 sv_maxairstrafespeed 0 diff --git a/physicsQ2a.cfg b/physicsQ2a.cfg index c5f21116ec..2d223a2051 100644 --- a/physicsQ2a.cfg +++ b/physicsQ2a.cfg @@ -14,6 +14,7 @@ sv_wateraccelerate -1 sv_waterfriction 1 sv_airaccel_sideways_friction 0 sv_airaccel_qw 1 +sv_airaccel_qw_stretchfactor 0 sv_airstopaccelerate 0 sv_airstrafeaccelerate 0 sv_maxairstrafespeed 0 diff --git a/physicsQ3.cfg b/physicsQ3.cfg index a50427155e..b3fdf41a82 100644 --- a/physicsQ3.cfg +++ b/physicsQ3.cfg @@ -13,6 +13,7 @@ sv_wateraccelerate 4 sv_waterfriction 1 sv_airaccel_sideways_friction 0 sv_airaccel_qw 1 +sv_airaccel_qw_stretchfactor 0 sv_airstopaccelerate 0 sv_airstrafeaccelerate 0 sv_maxairstrafespeed 0 diff --git a/physicsQBF.cfg b/physicsQBF.cfg index 9725e8cc4a..390cb968ad 100644 --- a/physicsQBF.cfg +++ b/physicsQBF.cfg @@ -13,6 +13,7 @@ sv_wateraccelerate -1 sv_waterfriction -1 sv_airaccel_sideways_friction 0.8 sv_airaccel_qw 1 +sv_airaccel_qw_stretchfactor 0 sv_airstopaccelerate 0 sv_airstrafeaccelerate 0 sv_maxairstrafespeed 0 diff --git a/physicsQBFplus.cfg b/physicsQBFplus.cfg index 75c70c1818..8c1a78f3b9 100644 --- a/physicsQBFplus.cfg +++ b/physicsQBFplus.cfg @@ -13,6 +13,7 @@ sv_wateraccelerate -1 sv_waterfriction -1 sv_airaccel_sideways_friction 0.5 sv_airaccel_qw 0.93 +sv_airaccel_qw_stretchfactor 0 sv_airstopaccelerate 0 sv_airstrafeaccelerate 0 sv_maxairstrafespeed 0 diff --git a/physicsSamual.cfg b/physicsSamual.cfg index 731b1482e6..178eed0aed 100644 --- a/physicsSamual.cfg +++ b/physicsSamual.cfg @@ -13,6 +13,7 @@ sv_wateraccelerate -1 sv_waterfriction -1 sv_airaccel_sideways_friction 0.3 sv_airaccel_qw 0.93 +sv_airaccel_qw_stretchfactor 0 sv_airstopaccelerate 0 sv_airstrafeaccelerate 0 sv_maxairstrafespeed 0 diff --git a/physicsWarsow.cfg b/physicsWarsow.cfg index 068d22ce67..6cae75a797 100644 --- a/physicsWarsow.cfg +++ b/physicsWarsow.cfg @@ -13,6 +13,7 @@ sv_wateraccelerate 10 sv_waterfriction 1 sv_airaccel_sideways_friction 0 sv_airaccel_qw 1 +sv_airaccel_qw_stretchfactor 0 sv_airstopaccelerate 2.5 sv_airstrafeaccelerate 70 sv_maxairstrafespeed 30 diff --git a/physicsWarsowClassicBunny.cfg b/physicsWarsowClassicBunny.cfg index 72ca9ffcae..5c0c81c8fb 100644 --- a/physicsWarsowClassicBunny.cfg +++ b/physicsWarsowClassicBunny.cfg @@ -13,6 +13,7 @@ sv_wateraccelerate 10 sv_waterfriction 1 sv_airaccel_sideways_friction 0 sv_airaccel_qw 1 +sv_airaccel_qw_stretchfactor 0 sv_airstopaccelerate 2.5 sv_airstrafeaccelerate 70 sv_maxairstrafespeed 30 diff --git a/physicsWarsowDev.cfg b/physicsWarsowDev.cfg index 051775de9a..0c30fcd9a0 100644 --- a/physicsWarsowDev.cfg +++ b/physicsWarsowDev.cfg @@ -13,6 +13,7 @@ sv_wateraccelerate 10 sv_waterfriction 1 sv_airaccel_sideways_friction 0 sv_airaccel_qw 1 +sv_airaccel_qw_stretchfactor 0 sv_airstopaccelerate 2 sv_airstrafeaccelerate 70 sv_maxairstrafespeed 30 diff --git a/physicsX.cfg b/physicsX.cfg new file mode 100644 index 0000000000..5cc6b52be8 --- /dev/null +++ b/physicsX.cfg @@ -0,0 +1,42 @@ +// current Xonotic physics +sv_gravity 800 +sv_maxspeed 360 +sv_maxairspeed 360 + +sv_stopspeed 100 +sv_accelerate 15 +sv_airaccelerate 2 +sv_friction 8 +edgefriction 1 +sv_stepheight 26 +// Q1: 16+2 +// Nex: 32+2 +// we try: 24+2 + +// actually, what we want is 266.6666 for 180bpm +// but 260 takes same amount of frames and is nicer to mappers +sv_jumpvelocity 260 +sv_wateraccelerate -1 +sv_waterfriction -1 +sv_airaccel_sideways_friction 0 +sv_airaccel_qw -0.8 +sv_airaccel_qw_stretchfactor 2 + +sv_airstopaccelerate 3 +sv_airstrafeaccelerate 24 +sv_maxairstrafespeed 100 +sv_airstrafeaccel_qw -0.95 +sv_aircontrol 125 +sv_aircontrol_penalty 180 +sv_aircontrol_power 2 +sv_airspeedlimit_nonqw 800 +sv_warsowbunny_turnaccel 0 +sv_warsowbunny_accel 0.1593 +sv_warsowbunny_topspeed 925 +sv_warsowbunny_backtosideratio 0.8 +sv_friction_on_land 0 +sv_doublejump 0 +sv_jumpspeedcap_min "" +sv_jumpspeedcap_max "" +sv_jumpspeedcap_max_disable_on_ramps 1 +g_teleport_maxspeed 0 diff --git a/physicsX0.cfg b/physicsX0.cfg deleted file mode 100644 index f1e4abc529..0000000000 --- a/physicsX0.cfg +++ /dev/null @@ -1,41 +0,0 @@ -// "NoQWBunny" physics based on XPM -sv_gravity 800 -sv_maxspeed 360 -sv_maxairspeed 360 - -sv_stopspeed 100 -sv_accelerate 15 -sv_airaccelerate 2 -sv_friction 8 -edgefriction 1 -sv_stepheight 26 -// Q1: 16+2 -// Nex: 32+2 -// we try: 24+2 - -// actually, what we want is 266.6666 for 180bpm -// but 260 takes same amount of frames and is nicer to mappers -sv_jumpvelocity 260 -sv_wateraccelerate -1 -sv_waterfriction -1 -sv_airaccel_sideways_friction 0 -sv_airaccel_qw -0.8 - -sv_airstopaccelerate 3 -sv_airstrafeaccelerate 24 -sv_maxairstrafespeed 100 -sv_airstrafeaccel_qw -0.95 -sv_aircontrol 125 -sv_aircontrol_penalty 180 -sv_aircontrol_power 2 -sv_airspeedlimit_nonqw 700 -sv_warsowbunny_turnaccel 0 -sv_warsowbunny_accel 0.1593 -sv_warsowbunny_topspeed 925 -sv_warsowbunny_backtosideratio 0.8 -sv_friction_on_land 0 -sv_doublejump 0 -sv_jumpspeedcap_min "" -sv_jumpspeedcap_max "" -sv_jumpspeedcap_max_disable_on_ramps 1 -g_teleport_maxspeed 0 diff --git a/physicsX010.cfg b/physicsX010.cfg new file mode 100644 index 0000000000..bda6272711 --- /dev/null +++ b/physicsX010.cfg @@ -0,0 +1,42 @@ +// Xonotic 0.1.0preview physics +sv_gravity 800 +sv_maxspeed 360 +sv_maxairspeed 400 + +sv_stopspeed 100 +sv_accelerate 15 +sv_airaccelerate 2 +sv_friction 8 +edgefriction 1 +sv_stepheight 26 +// Q1: 16+2 +// Nex: 32+2 +// we try: 24+2 + +// actually, what we want is 266.6666 for 180bpm +// but 260 takes same amount of frames and is nicer to mappers +sv_jumpvelocity 260 +sv_wateraccelerate -1 +sv_waterfriction -1 +sv_airaccel_sideways_friction 0 +sv_airaccel_qw -0.8 +sv_airaccel_qw_stretchfactor 0 + +sv_airstopaccelerate 3 +sv_airstrafeaccelerate 24 +sv_maxairstrafespeed 100 +sv_airstrafeaccel_qw -0.95 +sv_aircontrol 125 +sv_aircontrol_penalty 150 +sv_aircontrol_power 2 +sv_airspeedlimit_nonqw 800 +sv_warsowbunny_turnaccel 0 +sv_warsowbunny_accel 0.1593 +sv_warsowbunny_topspeed 925 +sv_warsowbunny_backtosideratio 0.8 +sv_friction_on_land 0 +sv_doublejump 0 +sv_jumpspeedcap_min "" +sv_jumpspeedcap_max "" +sv_jumpspeedcap_max_disable_on_ramps 1 +g_teleport_maxspeed 0 diff --git a/physicsXPM.cfg b/physicsXPM.cfg index e4ba14a562..f781539485 100644 --- a/physicsXPM.cfg +++ b/physicsXPM.cfg @@ -16,6 +16,7 @@ sv_wateraccelerate 4 sv_waterfriction 1 sv_airaccel_sideways_friction 0 sv_airaccel_qw 0.95 +sv_airaccel_qw_stretchfactor 0 // CPMA: 1 sv_airstopaccelerate 2.5 sv_airstrafeaccelerate 70 diff --git a/physicsXPMLight.cfg b/physicsXPMLight.cfg index 3e7ee55570..3a8b8e1503 100644 --- a/physicsXPMLight.cfg +++ b/physicsXPMLight.cfg @@ -16,6 +16,8 @@ sv_wateraccelerate 4 sv_waterfriction 1 sv_airaccel_sideways_friction 0 sv_airaccel_qw -0.9146875 +sv_airaccel_qw_stretchfactor 0 +sv_airaccel_qw_stretchfactor 0 // CPMA: 1 sv_airstopaccelerate 6.5625 // matches strafe-stopping speed sv_airstrafeaccelerate 14 diff --git a/qcsrc/server/autocvars.qh b/qcsrc/server/autocvars.qh index 26bd176b63..d3112f73d1 100644 --- a/qcsrc/server/autocvars.qh +++ b/qcsrc/server/autocvars.qh @@ -1118,6 +1118,7 @@ float autocvar_sv_accelerate; var float autocvar_sv_accuracy_data_share = 1; string autocvar_sv_adminnick; float autocvar_sv_airaccel_qw; +float autocvar_sv_airaccel_qw_stretchfactor; float autocvar_sv_airaccel_sideways_friction; float autocvar_sv_airaccelerate; float autocvar_sv_aircontrol; diff --git a/qcsrc/server/cl_client.qc b/qcsrc/server/cl_client.qc index c5098ea7cb..58ad1ce286 100644 --- a/qcsrc/server/cl_client.qc +++ b/qcsrc/server/cl_client.qc @@ -1770,8 +1770,6 @@ void ClientConnect (void) set_dom_state(self); CheatInitClient(); - - PlayerStats_AddPlayer(self); } /* diff --git a/qcsrc/server/cl_physics.qc b/qcsrc/server/cl_physics.qc index 9fbec9299d..d542f0838f 100644 --- a/qcsrc/server/cl_physics.qc +++ b/qcsrc/server/cl_physics.qc @@ -504,7 +504,7 @@ float AdjustAirAccelQW(float accelqw, float factor) // 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, float speedlimit) +void PM_Accelerate(vector wishdir, float wishspeed, float wishspeed0, float accel, float accelqw, float stretchfactor, float sidefric, float speedlimit) { float vel_straight; float vel_z; @@ -516,8 +516,14 @@ void PM_Accelerate(vector wishdir, float wishspeed, float wishspeed0, float acce float vel_xy_backward, vel_xy_forward; float speedclamp; - speedclamp = (accelqw < 0); - if(speedclamp) + if(stretchfactor > 0) + speedclamp = stretchfactor; + else if(accelqw < 0) + speedclamp = 1; // full clamping, no stretch + else + speedclamp = -1; // no clamping + + if(accelqw < 0) accelqw = -accelqw; if(autocvar_sv_gameplayfix_q2airaccelerate) @@ -560,12 +566,16 @@ void PM_Accelerate(vector wishdir, float wishspeed, float wishspeed0, float acce vel_xy = vel_straight * wishdir + vel_perpend; - if(speedclamp) + if(speedclamp >= 0) { - // ensure we don't get too fast or decelerate faster than we should - vel_xy_current = min(vlen(vel_xy), vel_xy_forward); - if(vel_xy_current > 0) // prevent division by zero - vel_xy = normalize(vel_xy) * vel_xy_current; + float vel_xy_preclamp; + vel_xy_preclamp = vlen(vel_xy); + if(vel_xy_preclamp > 0) // prevent division by zero + { + vel_xy_current += (vel_xy_forward - vel_xy_current) * speedclamp; + if(vel_xy_current < vel_xy_preclamp) + vel_xy = vel_xy * (vel_xy_current / vel_xy_preclamp); + } } self.velocity = vel_xy + vel_z * '0 0 1'; @@ -968,7 +978,7 @@ void SV_PlayerPhysics() if (wishspeed > self.stat_sv_maxspeed*maxspd_mod) wishspeed = self.stat_sv_maxspeed*maxspd_mod; if (time >= self.teleport_time) - PM_Accelerate(wishdir, wishspeed, wishspeed, autocvar_sv_accelerate*maxspd_mod, 1, 0, 0); + PM_Accelerate(wishdir, wishspeed, wishspeed, autocvar_sv_accelerate*maxspd_mod, 1, 0, 0, 0); } else if (self.waterlevel >= WATERLEVEL_SWIMMING) { @@ -991,7 +1001,7 @@ void SV_PlayerPhysics() self.velocity = self.velocity * (1 - frametime * autocvar_sv_friction); // water acceleration - PM_Accelerate(wishdir, wishspeed, wishspeed, autocvar_sv_accelerate*maxspd_mod, 1, 0, 0); + PM_Accelerate(wishdir, wishspeed, wishspeed, autocvar_sv_accelerate*maxspd_mod, 1, 0, 0, 0); } else if (time < self.ladder_time) { @@ -1041,7 +1051,7 @@ void SV_PlayerPhysics() if (time >= self.teleport_time) { // water acceleration - PM_Accelerate(wishdir, wishspeed, wishspeed, autocvar_sv_accelerate*maxspd_mod, 1, 0, 0); + PM_Accelerate(wishdir, wishspeed, wishspeed, autocvar_sv_accelerate*maxspd_mod, 1, 0, 0, 0); } } else if ((self.items & IT_JETPACK) && self.BUTTON_HOOK && (!autocvar_g_jetpack_fuel || self.ammo_fuel >= 0.01 || self.items & IT_UNLIMITED_WEAPON_AMMO)) @@ -1201,7 +1211,7 @@ void SV_PlayerPhysics() if (self.crouch) wishspeed = wishspeed * 0.5; if (time >= self.teleport_time) - PM_Accelerate(wishdir, wishspeed, wishspeed, autocvar_sv_accelerate*maxspd_mod, 1, 0, 0); + PM_Accelerate(wishdir, wishspeed, wishspeed, autocvar_sv_accelerate*maxspd_mod, 1, 0, 0, 0); } else { @@ -1272,7 +1282,7 @@ void SV_PlayerPhysics() if(autocvar_sv_warsowbunny_turnaccel && accelerating && self.movement_y == 0 && self.movement_x != 0) PM_AirAccelerate(wishdir, wishspeed); else - PM_Accelerate(wishdir, wishspeed, wishspeed0, airaccel, airaccelqw, autocvar_sv_airaccel_sideways_friction / maxairspd, self.stat_sv_airspeedlimit_nonqw); + PM_Accelerate(wishdir, wishspeed, wishspeed0, airaccel, airaccelqw, autocvar_sv_airaccel_qw_stretchfactor, autocvar_sv_airaccel_sideways_friction / maxairspd, self.stat_sv_airspeedlimit_nonqw); if(autocvar_sv_aircontrol) CPM_PM_Aircontrol(wishdir, wishspeed2); diff --git a/qcsrc/server/miscfunctions.qc b/qcsrc/server/miscfunctions.qc index a797451439..eca38d1ca7 100644 --- a/qcsrc/server/miscfunctions.qc +++ b/qcsrc/server/miscfunctions.qc @@ -618,6 +618,8 @@ void GetCvars(float f) { if (s == "cl_weaponpriority") self.switchweapon = w_getbestweapon(self); + if (s == "cl_allow_uidtracking") + PlayerStats_AddPlayer(self); } } diff --git a/qcsrc/server/playerstats.qc b/qcsrc/server/playerstats.qc index 2bb5540d6b..b3ed922104 100644 --- a/qcsrc/server/playerstats.qc +++ b/qcsrc/server/playerstats.qc @@ -39,6 +39,8 @@ void PlayerStats_AddPlayer(entity e) { if(playerstats_db < 0) return; + if(e.playerstats_id) + return; if(e.crypto_idfp != "" && e.cvar_cl_allow_uidtracking == 1) e.playerstats_id = strzone(e.crypto_idfp);