Download

← All updates

Update

quark 1.18.28

Everything that changed in this version, and why.

Movement (src/game/pmove.cpp)

  • The hyper's (super dash's) hop is 3x higher. The owner asked for "3x more air, since we nerfed the speed": 1.18.7 changed the hyper from the dash's burst x 1.25 (30 m/s from a standstill) to the speed you carried in + 5, so it travels much less far. The hop's vertical speed is a share of the jump speed (7.34 m/s) that rises with how far down the dash is aimed: kSuperDashJump 0.5 -> 0.866 at the 14.5 degree threshold, kSuperDashJumpMax 1.0 -> 1.732 straight down. That is sqrt(3) x both, which gives 3x the height. Height goes with the square of the take-off speed, so 3x the air time would have meant 9x the height (11 m straight down, over most of the maps' walls). Hops now: 14.5 deg 0.91 m (was 0.31), 20 deg 1.15 m (0.39), 45 deg 2.36 m (0.79), 90 deg 3.65 m (1.22). Air time is 1.73x as long (0.6 -> 1.03 s at 57 degrees down), and so is the distance at the same speed: about 14.9 m across from a 9.5 m/s run, was about 8.6 m.
  • A custom mode's SUPER DASH JUMP multiplier still scales both ends, now from the new base.
  • Dash jumps (the super, off a level dash) are unchanged: a full jump.

Physics editor (tools/physics_editor/)

  • The helper's source map (native/physics.cpp), the page's parameter list (web/js/params.js) and its mock pmove (web/js/mockpm.js) carry the new 0.866 / 1.732 bases. test_phys.py expects the 2.36 m hop at 45 degrees.

Tests (tests/tests.cpp, tests/moveexpr_tests.h)

  • The super dash tests check 3x the old hops (0.91 m at the threshold, 3.65 m straight down, take-off sqrt(3) x half a jump and sqrt(3) x a jump). Their flights now let go of dash: the longer hop outlasts the 0.6 s between dashes, and a held dash fires again in the air (1.18.21, T2).
  • The movement-equations test that tells a super dash from a dash jump at 10 degrees down now compares the hop with the dash jump's full jump (7.16 against 7.32 m/s) instead of an absolute 5 m/s, since the shallow hop is now 0.87 of a jump.

Compatibility

  • No protocol change (still 44): 1.18.28 joins and hosts 1.18.22 and newer. pmove runs on both sides, so a 1.18.22-1.18.27 client on a 1.18.28 server (or the other way round) predicts the old hop and is corrected once per hyper. The other movement changes in this line shipped the same way (1.18.21); everything else matches.