quake3live/code/qcommon
serge_shubin 8f778b2f64 QL-style auto-hop with smooth stair traversal
Backports key Quake Live movement mechanics to Q3:

- Auto-hop: remove PMF_JUMP_HELD gate so holding jump bunny-hops
  continuously. The Pmove() outer loop already forces upmove=20.

- Air steps: remove Q3's velocity[2]>0 gate in PM_StepSlideMove,
  allowing step-ups while airborne for bunny-hop stair traversal.

- Conditional velocity clip: only clip velocity to step-down surface
  when moving INTO it. Preserve upward momentum when velocity is
  already moving away from the surface. This is the key mechanic
  for smooth stair hopping.

- 100ms jump cooldown via lastJumpTime (networked in playerState_t)
  to prevent same-frame double-fires.

- PM_Jump/PM_CanJump extracted for reuse by future features
  (step jump, double jump, etc).

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-21 15:10:22 +08:00
..
cm_load.c Initial commit: Quake 3 1.32b GPL source 2026-03-18 13:32:24 +08:00
cm_local.h Initial commit: Quake 3 1.32b GPL source 2026-03-18 13:32:24 +08:00
cm_patch.c Initial commit: Quake 3 1.32b GPL source 2026-03-18 13:32:24 +08:00
cm_patch.h Initial commit: Quake 3 1.32b GPL source 2026-03-18 13:32:24 +08:00
cm_polylib.c Initial commit: Quake 3 1.32b GPL source 2026-03-18 13:32:24 +08:00
cm_polylib.h Initial commit: Quake 3 1.32b GPL source 2026-03-18 13:32:24 +08:00
cm_public.h Initial commit: Quake 3 1.32b GPL source 2026-03-18 13:32:24 +08:00
cm_test.c Initial commit: Quake 3 1.32b GPL source 2026-03-18 13:32:24 +08:00
cm_trace.c Initial commit: Quake 3 1.32b GPL source 2026-03-18 13:32:24 +08:00
cmd.c Initial commit: Quake 3 1.32b GPL source 2026-03-18 13:32:24 +08:00
cmd.c.save Initial commit: Quake 3 1.32b GPL source 2026-03-18 13:32:24 +08:00
common.c Build system cleanup: rename to quake3live.exe, fix DLL loading, default to missionpack 2026-03-20 18:17:28 +08:00
cvar.c Initial commit: Quake 3 1.32b GPL source 2026-03-18 13:32:24 +08:00
files.c Build system cleanup: rename to quake3live.exe, fix DLL loading, default to missionpack 2026-03-20 18:17:28 +08:00
huffman.c Initial commit: Quake 3 1.32b GPL source 2026-03-18 13:32:24 +08:00
md4.c Initial commit: Quake 3 1.32b GPL source 2026-03-18 13:32:24 +08:00
msg.c QL-style auto-hop with smooth stair traversal 2026-03-21 15:10:22 +08:00
net_chan.c Initial commit: Quake 3 1.32b GPL source 2026-03-18 13:32:24 +08:00
qcommon.h Initial commit: Quake 3 1.32b GPL source 2026-03-18 13:32:24 +08:00
qfiles.h Initial commit: Quake 3 1.32b GPL source 2026-03-18 13:32:24 +08:00
unzip.c Initial commit: Quake 3 1.32b GPL source 2026-03-18 13:32:24 +08:00
unzip.h Initial commit: Quake 3 1.32b GPL source 2026-03-18 13:32:24 +08:00
vm.c Force vm_game/vm_cgame/vm_ui to DLL-only (0) when DLL_ONLY is defined 2026-03-18 14:04:12 +08:00
vm_interpreted.c Initial commit: Quake 3 1.32b GPL source 2026-03-18 13:32:24 +08:00
vm_local.h Initial commit: Quake 3 1.32b GPL source 2026-03-18 13:32:24 +08:00
vm_ppc.c Initial commit: Quake 3 1.32b GPL source 2026-03-18 13:32:24 +08:00
vm_ppc_new.c Initial commit: Quake 3 1.32b GPL source 2026-03-18 13:32:24 +08:00
vm_x86.c Define DLL_ONLY for all configurations; fix vm_x86.c guard 2026-03-18 14:00:29 +08:00