Commit graph

5 commits

Author SHA1 Message Date
Sergei Shubin
734b403b76 Implement QL autohop feature and supporting infrastructure
- 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>
2026-03-18 19:25:04 +08:00
Sergei Shubin
37f0bc95eb Define DLL_ONLY for all configurations; fix vm_x86.c guard
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>
2026-03-18 14:00:29 +08:00
Sergei Shubin
a1fce2ed93 Add AfterBuild Copy tasks to deploy outputs to workdir
game/cgame/q3_ui copy DLLs to workdir/baseq3/, quake3 copies exe to workdir/.
Uses MSBuild <Copy> task with per-config _CopyOutputFile property; Alpha AXP
configs are skipped (no _CopyOutputFile defined).

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-03-18 13:53:13 +08:00
Sergei Shubin
111dce16ab Upgrade mouse input from DirectInput 3 to DirectInput 8
- 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>
2026-03-18 13:44:21 +08:00
Sergei Shubin
f85c79bf5a Migrate to Visual Studio 2022: replace .vcproj with .vcxproj, add .gitignore
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-03-18 13:36:28 +08:00