From 37f0bc95eb263bc5491da1aa58a47b511951b10c Mon Sep 17 00:00:00 2001 From: Sergei Shubin Date: Wed, 18 Mar 2026 14:00:29 +0800 Subject: [PATCH] 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 --- code/qcommon/vm_x86.c | 2 ++ code/quake3.vcxproj | 5 +++++ 2 files changed, 7 insertions(+) diff --git a/code/qcommon/vm_x86.c b/code/qcommon/vm_x86.c index 92a812e..7b971fd 100644 --- a/code/qcommon/vm_x86.c +++ b/code/qcommon/vm_x86.c @@ -396,6 +396,7 @@ qboolean EmitMovEBXEDI(vm_t *vm, int andit) { VM_Compile ================= */ +#ifndef DLL_ONLY // bk010215 - for DLL_ONLY dedicated servers/builds w/o VM void VM_Compile( vm_t *vm, vmHeader_t *header ) { int op; int maxLength; @@ -1083,6 +1084,7 @@ void VM_Compile( vm_t *vm, vmHeader_t *header ) { #endif } +#endif // !DLL_ONLY /* ============== diff --git a/code/quake3.vcxproj b/code/quake3.vcxproj index 7bfaade..d306c62 100644 --- a/code/quake3.vcxproj +++ b/code/quake3.vcxproj @@ -137,6 +137,11 @@ .\Debug_TA\ true + + + DLL_ONLY;%(PreprocessorDefinitions) + + MaxSpeed