From 345fbe400e6b47b6e248b264ab1667806c8fbb88 Mon Sep 17 00:00:00 2001 From: bones_was_here Date: Tue, 7 Feb 2023 16:34:21 +1000 Subject: [PATCH] Corrections and documentation for physicsCPMA.cfg and physicsQ3.cfg Adds sv_track_canjump to configs that lacked it. --- physicsCPMA.cfg | 31 +++++++++++++++++++++---------- physicsOverkill.cfg | 1 + physicsQ3.cfg | 19 ++++++++++++------- physicsX.cfg | 1 + physicsX010.cfg | 1 + physicsX07.cfg | 1 + physicsXDF.cfg | 1 + physicsXDFLight.cfg | 1 + 8 files changed, 39 insertions(+), 17 deletions(-) diff --git a/physicsCPMA.cfg b/physicsCPMA.cfg index 30a18cab9..f26d94e11 100644 --- a/physicsCPMA.cfg +++ b/physicsCPMA.cfg @@ -1,13 +1,21 @@ g_mod_physics CPMA // these values match CPMA -sv_gravity 800 +// CPMA uses gravity 800 but the strength of Q3 gravity is frametime-dependent. +// This number simulates 125fps Q3 gravity and was calculated by measuring jump height +// by adding debug prints to Q3. An average of 24 samples gave the height 48.138171516 +// which was used to calculate this gravity with the formula in physicsX.cfg +// Modern CPMA has frametime-independent physics that ~match 125fps frametime-dependent. +// DeFRaG still has frametime-dependent physics and DFWC rules mandate 125fps. +sv_gravity 757.195357698 sv_maxspeed 320 sv_maxairspeed 320 sv_stopspeed 100 -sv_accelerate 15 +sv_accelerate 15 // from cpm1_dev_docs sv_airaccelerate 1 -sv_friction 8 +// The cpm1_dev_docs.zip (only CPMA source code release) used friction 8, +// but friction is 6 in all ~modern CPMA releases, and in DeFRaG CPM. +sv_friction 6 edgefriction 1 sv_stepheight 18 sv_jumpvelocity 270 @@ -17,11 +25,11 @@ 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 +sv_airstopaccelerate 2.5 // from cpm1_dev_docs +sv_airstrafeaccelerate 70 // from cpm1_dev_docs strafeaccelerate +sv_maxairstrafespeed 30 // from cpm1_dev_docs wishspeed sv_airstrafeaccel_qw 0 -sv_aircontrol 150 +sv_aircontrol 150 // from cpm1_dev_docs sv_aircontrol_penalty 0 sv_aircontrol_power 2 sv_aircontrol_backwards 0 @@ -34,10 +42,13 @@ sv_warsowbunny_backtosideratio 0.8 sv_friction_on_land 0 sv_friction_slick 0 sv_doublejump 0 -sv_jumpspeedcap_min "" +// match the downhill ramp jumping behaviour of CPMA +sv_jumpspeedcap_min 0 sv_jumpspeedcap_max "" -sv_jumpspeedcap_max_disable_on_ramps 0 +// CPMA has ramp jumping +sv_jumpspeedcap_max_disable_on_ramps 1 +// FIXME: Q3 teleporters _set_ speed to 400, not cap it g_teleport_maxspeed 400 -sv_track_canjump 0 +sv_track_canjump 1 sv_gameplayfix_stepdown_maxspeed 0 g_movement_highspeed_q3_compat 1 diff --git a/physicsOverkill.cfg b/physicsOverkill.cfg index be6ea4963..aa97fb15b 100644 --- a/physicsOverkill.cfg +++ b/physicsOverkill.cfg @@ -52,5 +52,6 @@ sv_jumpspeedcap_min "" sv_jumpspeedcap_max "" sv_jumpspeedcap_max_disable_on_ramps 1 g_teleport_maxspeed 0 +sv_track_canjump 0 sv_gameplayfix_stepdown_maxspeed 400 g_movement_highspeed_q3_compat 0 diff --git a/physicsQ3.cfg b/physicsQ3.cfg index 76ee484ec..56bc11b1c 100644 --- a/physicsQ3.cfg +++ b/physicsQ3.cfg @@ -1,7 +1,8 @@ g_mod_physics Q3 // these values match Quake3 -sv_gravity 800 +// See physicsCPMA.cfg for the source of this sv_gravity +sv_gravity 757.195357698 sv_maxspeed 320 sv_maxairspeed 320 sv_stopspeed 100 @@ -17,8 +18,10 @@ sv_waterfriction 1 sv_airaccel_sideways_friction 0 sv_airaccel_qw 1 sv_airaccel_qw_stretchfactor 0 -sv_airstopaccelerate 0 -sv_airstrafeaccelerate 0 +// Q3A doesn't have airstopaccelerate and strafeaccelerate +// but they're added in cpm1_dev_docs.zip with values 1 and 1 in VQ3 mode +sv_airstopaccelerate 1 +sv_airstrafeaccelerate 1 sv_maxairstrafespeed 0 sv_airstrafeaccel_qw 0 sv_aircontrol 0 @@ -35,9 +38,11 @@ sv_friction_on_land 0 sv_friction_slick 0 sv_doublejump 0 sv_jumpspeedcap_min "" -sv_jumpspeedcap_max "" +// VQ3 has no ramp jumping +sv_jumpspeedcap_max 270 sv_jumpspeedcap_max_disable_on_ramps 0 -g_teleport_maxspeed 320 -sv_track_canjump 0 +// FIXME: Q3 teleporters _set_ speed to 400, not cap it +g_teleport_maxspeed 400 +sv_track_canjump 1 sv_gameplayfix_stepdown_maxspeed 0 -g_movement_highspeed_q3_compat 0 +g_movement_highspeed_q3_compat 1 diff --git a/physicsX.cfg b/physicsX.cfg index 252c2e7e9..21ded2a8c 100644 --- a/physicsX.cfg +++ b/physicsX.cfg @@ -53,5 +53,6 @@ sv_jumpspeedcap_min "" sv_jumpspeedcap_max "" sv_jumpspeedcap_max_disable_on_ramps 1 g_teleport_maxspeed 0 +sv_track_canjump 0 sv_gameplayfix_stepdown_maxspeed 400 g_movement_highspeed_q3_compat 0 diff --git a/physicsX010.cfg b/physicsX010.cfg index 8b81ca042..e350037e6 100644 --- a/physicsX010.cfg +++ b/physicsX010.cfg @@ -46,5 +46,6 @@ sv_jumpspeedcap_min "" sv_jumpspeedcap_max "" sv_jumpspeedcap_max_disable_on_ramps 1 g_teleport_maxspeed 0 +sv_track_canjump 0 sv_gameplayfix_stepdown_maxspeed 400 g_movement_highspeed_q3_compat 0 diff --git a/physicsX07.cfg b/physicsX07.cfg index aa582bd99..c7c2250e7 100644 --- a/physicsX07.cfg +++ b/physicsX07.cfg @@ -52,5 +52,6 @@ sv_jumpspeedcap_min "" sv_jumpspeedcap_max "" sv_jumpspeedcap_max_disable_on_ramps 1 g_teleport_maxspeed 0 +sv_track_canjump 0 sv_gameplayfix_stepdown_maxspeed 400 g_movement_highspeed_q3_compat 0 diff --git a/physicsXDF.cfg b/physicsXDF.cfg index 8bbe28eaa..1436bbdcb 100644 --- a/physicsXDF.cfg +++ b/physicsXDF.cfg @@ -44,6 +44,7 @@ sv_jumpspeedcap_min 0 sv_jumpspeedcap_max 0.5 sv_jumpspeedcap_max_disable_on_ramps 1 g_teleport_maxspeed 600 +sv_track_canjump 0 sv_gameplayfix_stepdown_maxspeed 400 // needed for correct q3 haste simulation g_movement_highspeed_q3_compat 1 diff --git a/physicsXDFLight.cfg b/physicsXDFLight.cfg index dd657afaf..1c86e786d 100644 --- a/physicsXDFLight.cfg +++ b/physicsXDFLight.cfg @@ -44,5 +44,6 @@ sv_jumpspeedcap_min "" sv_jumpspeedcap_max "" sv_jumpspeedcap_max_disable_on_ramps 1 g_teleport_maxspeed 0 +sv_track_canjump 0 sv_gameplayfix_stepdown_maxspeed 400 g_movement_highspeed_q3_compat 0 -- 2.39.2