quake3live/code/qcommon
serge_shubin ba2dbb803e Implant QL pmove system into Q3 Team Arena
Replace Q3TA player movement with Quake Live's pmove system,
decompiled from qagamex64.so via Ghidra MCP.

Struct changes:
- playerState_t: +12 bytes (field_08c, field_094, field_09c,
  lastJumpTime, jumped, crouchSlideTimer, forwardmove/rightmove/upmove)
- usercmd_t: +4 bytes (field_15, field_16 between weapon and forwardmove)
- pmove_t: +16 bytes (field_0dc/0e0/0e4/0f8, removed framecount)
- pml_t: +12 bytes (isJumppad, wallContact, isStepJump)
- pm_flags: remapped to QL values (21 flags, several moved/new)

New physics systems:
- Dual VQ3/PQL physics (PMF_PROMODE)
- Double jump, crouch slide, chain/ramp/step jump
- Wall contact movement, grapple hook physics
- 34 server-tunable pmove_* cvars with cgame prediction sync

Network protocol updated for new struct fields and usercmd bytes.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-20 02:57:53 +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 Initial commit: Quake 3 1.32b GPL source 2026-03-18 13:32:24 +08:00
cvar.c Initial commit: Quake 3 1.32b GPL source 2026-03-18 13:32:24 +08:00
files.c Initial commit: Quake 3 1.32b GPL source 2026-03-18 13:32:24 +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 Implant QL pmove system into Q3 Team Arena 2026-03-20 02:57:53 +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