- bg_pmove.c: PM_CheckJump with full QL autohop logic — PMF_RESPAWNED
bypassed when autohop opted-in, JumpTimeDeltaMin rate-limits all jumps
(not just autohop), JUMP_HELD check skipped for autohop users; uses
cmd.serverTime to match QL binary; pmove_JumpVelocity replaces
JUMP_VELOCITY under MISSIONPACK
- q_shared.h: add lastJumpTime to non-networked section of playerState_t
- g_client.c: ClientUserinfoChanged and ClientSpawn set/clear
PMF_AUTOHOP_HELD based on cg_autoHop userinfo key
- bg_public.h: extern vmCvar_t declarations for autohop cvars
- cgame/cg_main.c, cg_local.h: register pmove_AutoHop, pmove_JumpVelocity,
pmove_JumpTimeDeltaMin, cg_autoHop in cgame
- qcommon/msg.c: expand pm_flags from 16 to 21 bits (PMF_JUMP_SCALE=0x100000)
- quake3.vcxproj: add MISSIONPACK to Debug TA and Release TA configs
- bg_misc.c: fix BG_EvaluateTrajectory error printing tr->trType not tr->trTime
- cg_marks.c: guard CG_ImpactMark against zero-length dir vector
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Debug TA and Release TA configs now copy their output DLLs to
workdir/missionpack/ instead of workdir/baseq3/, matching the
Q3 Team Arena directory layout. MISSIONPACK was already defined
for TA configs; this completes the baseline TA setup.
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Default was 2 (JIT/QVM), causing fallback to ui.qvm when DLL not found.
Use CVAR_INIT|CVAR_ROM to prevent config files from overriding back to QVM.
Mirrors the same pattern used for sv_pure in sv_init.c.
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Add unconditional ItemDefinitionGroup in quake3.vcxproj to define DLL_ONLY
for all configurations, disabling QVM interpreter/JIT in favour of DLLs.
Fix vm_x86.c: VM_Compile was outside the #ifndef DLL_ONLY guard while
VM_CallCompiled was inside it, causing a duplicate symbol link error.
Extend the guard to cover VM_Compile as well.
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
- Use DirectInput8Create() instead of dynamic dinput.dll loading
- Switch to LPDIRECTINPUT8 / LPDIRECTINPUTDEVICE8 types and DI8 macros
- Replace custom MYDATA data format with c_dfDIMouse2 (8-button support)
- Use DIMOUSESTATE2 in GetDeviceState (correct size, 8 buttons)
- Add MOUSE5 button mapping via DIMOFS_BUTTON4
- Link against dinput8.lib; define required GUIDs inline to avoid dxguid.lib conflicts
- Fix .gitignore: remove Win32/ pattern that was shadowing code/win32/ source dir
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>