From 2df6f416ce6d1fd8340ba0ae9cd8f18aeb9eea0b Mon Sep 17 00:00:00 2001 From: bones_was_here Date: Tue, 7 Feb 2023 15:20:41 +1000 Subject: [PATCH] Adjust jump pad velocity on Q3 maps to match 125fps frametime-dependent behaviour --- qcsrc/common/mapobjects/trigger/jumppads.qc | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/qcsrc/common/mapobjects/trigger/jumppads.qc b/qcsrc/common/mapobjects/trigger/jumppads.qc index eee980618..d7a5eee01 100644 --- a/qcsrc/common/mapobjects/trigger/jumppads.qc +++ b/qcsrc/common/mapobjects/trigger/jumppads.qc @@ -39,6 +39,13 @@ vector trigger_push_calculatevelocity(vector org, entity tgt, float ht, entity p if(pushed_entity && pushed_entity.gravity) grav *= pushed_entity.gravity; + // Q3 has frametime-dependent gravity, but its trigger_push velocity calculation doesn't account for that. + // This discrepancy can be simulated accurately with a multiplier which here ensures that + // all entities will arrive where they would in Q3 at 125fps, even if entity-specific gravity is applied. + // See physicsCPMA.cfg for the source of the magic number. + if (STAT(Q3COMPAT) && GAMEPLAYFIX_GRAVITYUNAFFECTEDBYTICRATE) + grav *= 1.056530513; + zdist = torg.z - org.z; sdist = vlen(torg - org - zdist * '0 0 1'); sdir = normalize(torg - org - zdist * '0 0 1'); -- 2.39.2