Commit graph

9 commits

Author SHA1 Message Date
Sergei Shubin
48685e3f27 Add QL pmove_ cvar declarations and registration
34 pmove_ cvars from qagamex86.dll build 1069, all guarded by
#ifdef MISSIONPACK. Covers ground, air, jump, crouch-slide, strafe,
water, weapon timing, and misc categories. Defaults match QL binary.
No functionality implemented yet.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-03-18 16:28:03 +08:00
Sergei Shubin
e8af01e9d3 Add QL PM/PMF flags under MISSIONPACK; ignore Debug_TA build dirs
- PM_TUTORIAL alias (= PM_SPINTERMISSION, value 6) added under MISSIONPACK
- PMF_GRAPPLE_PULL2, PMF_CROUCH_SLIDE, PMF_DOUBLE_JUMP, PMF_AUTOHOP_HELD,
  PMF_NO_ACTION, PMF_JUMP_SCALE (0x8000–0x100000) added under MISSIONPACK,
  matching values from qagamex86.dll build 1069
- .gitignore: add Debug_TA/, *.tlog, *.recipe, *.log

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-03-18 16:13:45 +08:00
Sergei Shubin
5eb0118ee3 Copy game/cgame/ui to missionpack/ for TA configurations
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>
2026-03-18 16:06:35 +08:00
Sergei Shubin
85fdc88c72 Force vm_game/vm_cgame/vm_ui to DLL-only (0) when DLL_ONLY is defined
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>
2026-03-18 14:04:12 +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
Sergei Shubin
4c57221941 Initial commit: Quake 3 1.32b GPL source 2026-03-18 13:32:24 +08:00