Build system fixes, rename to quake3live, disable hw gamma

- Rename output binary to quake3live.exe (all configurations)
- Set TargetName in vcxproj to match OutputFile for AfterBuild copy
- Default fs_game to "missionpack" in FS_Startup
- Add AfterBuild copy for ui project to workdir/missionpack
- Enable q3_ui build for non-TA configs only (TA uses ui project)
- Guard hardware gamma with ENABLE_HW_GAMMA macro (disabled by default)

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
This commit is contained in:
serge_shubin 2026-03-20 13:20:42 +08:00
parent ba2dbb803e
commit 53dae1453a
6 changed files with 1207 additions and 1175 deletions

View file

@ -45,8 +45,8 @@ int demo_protocols[] =
#define DEF_COMHUNKMEGS "64"
#define DEF_COMZONEMEGS "24"
#else
#define DEF_COMHUNKMEGS "56"
#define DEF_COMZONEMEGS "16"
#define DEF_COMHUNKMEGS "512"
#define DEF_COMZONEMEGS "256"
#endif
int com_argc;

View file

@ -2753,7 +2753,7 @@ static void FS_Startup( const char *gameName ) {
homePath = fs_basepath->string;
}
fs_homepath = Cvar_Get ("fs_homepath", homePath, CVAR_INIT );
fs_gamedirvar = Cvar_Get ("fs_game", "", CVAR_INIT|CVAR_SYSTEMINFO );
fs_gamedirvar = Cvar_Get ("fs_game", "missionpack", CVAR_INIT|CVAR_SYSTEMINFO );
fs_restrict = Cvar_Get ("fs_restrict", "", CVAR_INIT );
// add search path elements in reverse priority order

View file

@ -1,6 +1,6 @@
Microsoft Visual Studio Solution File, Format Version 12.00
# Visual Studio Version 17
VisualStudioVersion = 17.14.36908.2 d17.14
VisualStudioVersion = 17.14.36908.2
MinimumVisualStudioVersion = 10.0.40219.1
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "Splines", "splines\Splines.vcxproj", "{DBAF2C53-3858-455D-A1AE-3FC093515314}"
EndProject
@ -58,10 +58,10 @@ Global
{F9EE10DA-2404-4154-B904-F93C936C040A}.Release TA|x86.Build.0 = Release TA|Win32
{F9EE10DA-2404-4154-B904-F93C936C040A}.Release|x86.ActiveCfg = Release|Win32
{F9EE10DA-2404-4154-B904-F93C936C040A}.Release|x86.Build.0 = Release|Win32
{D454C4C7-7765-4149-ABAD-05FDEB9D94F8}.Debug TA|x86.ActiveCfg = Debug TA|Win32
{D454C4C7-7765-4149-ABAD-05FDEB9D94F8}.Debug TA|x86.ActiveCfg = Debug|Win32
{D454C4C7-7765-4149-ABAD-05FDEB9D94F8}.Debug|x86.ActiveCfg = Debug|Win32
{D454C4C7-7765-4149-ABAD-05FDEB9D94F8}.Debug|x86.Build.0 = Debug|Win32
{D454C4C7-7765-4149-ABAD-05FDEB9D94F8}.Release TA|x86.ActiveCfg = Release TA|Win32
{D454C4C7-7765-4149-ABAD-05FDEB9D94F8}.Release TA|x86.ActiveCfg = Release|Win32
{D454C4C7-7765-4149-ABAD-05FDEB9D94F8}.Release|x86.ActiveCfg = Release|Win32
{D454C4C7-7765-4149-ABAD-05FDEB9D94F8}.Release|x86.Build.0 = Release|Win32
{81CB51C4-B434-4E12-B69B-BAEE102F2852}.Debug TA|x86.ActiveCfg = Debug TA|Win32

View file

@ -106,36 +106,43 @@
<OutDir>.\Release_TA\</OutDir>
<IntDir>.\Release_TA\</IntDir>
<LinkIncremental>false</LinkIncremental>
<TargetName>quake3live</TargetName>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
<OutDir>.\Debug\</OutDir>
<IntDir>.\Debug\</IntDir>
<LinkIncremental>true</LinkIncremental>
<TargetName>quake3live</TargetName>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release TA DEMO|Win32'">
<OutDir>.\quake3___Win32_Release_TA_DEMO\</OutDir>
<IntDir>.\quake3___Win32_Release_TA_DEMO\</IntDir>
<LinkIncremental>false</LinkIncremental>
<TargetName>quake3live</TargetName>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
<OutDir>.\Release\</OutDir>
<IntDir>.\Release\</IntDir>
<LinkIncremental>false</LinkIncremental>
<TargetName>quake3live</TargetName>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug TA DEMO|Win32'">
<OutDir>.\quake3___Win32_Debug_TA_DEMO\</OutDir>
<IntDir>.\quake3___Win32_Debug_TA_DEMO\</IntDir>
<LinkIncremental>true</LinkIncremental>
<TargetName>quake3live</TargetName>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='vector|Win32'">
<OutDir>.\quake3___Win32_vector0\</OutDir>
<IntDir>.\quake3___Win32_vector0\</IntDir>
<LinkIncremental>false</LinkIncremental>
<TargetName>quake3live</TargetName>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug TA|Win32'">
<OutDir>.\Debug_TA\</OutDir>
<IntDir>.\Debug_TA\</IntDir>
<LinkIncremental>true</LinkIncremental>
<TargetName>quake3live</TargetName>
</PropertyGroup>
<ItemDefinitionGroup>
<ClCompile>
@ -151,7 +158,7 @@
<RuntimeLibrary>MultiThreaded</RuntimeLibrary>
<FunctionLevelLinking>true</FunctionLevelLinking>
<PrecompiledHeader />
<PrecompiledHeaderOutputFile>.\Release_TA/quake3.pch</PrecompiledHeaderOutputFile>
<PrecompiledHeaderOutputFile>.\Release_TA/quake3live.pch</PrecompiledHeaderOutputFile>
<AssemblerListingLocation>.\Release_TA/</AssemblerListingLocation>
<ObjectFileName>.\Release_TA/</ObjectFileName>
<ProgramDataBaseFileName>.\Release_TA/</ProgramDataBaseFileName>
@ -161,11 +168,11 @@
</ClCompile>
<Link>
<AdditionalDependencies>dinput8.lib;winmm.lib;wsock32.lib;%(AdditionalDependencies)</AdditionalDependencies>
<OutputFile>.\Release_TA/quake3.exe</OutputFile>
<OutputFile>.\Release_TA/quake3live.exe</OutputFile>
<SuppressStartupBanner>true</SuppressStartupBanner>
<ProgramDatabaseFile>Release_TA/quake3.pdb</ProgramDatabaseFile>
<ProgramDatabaseFile>Release_TA/quake3live.pdb</ProgramDatabaseFile>
<GenerateMapFile>true</GenerateMapFile>
<MapFileName>Release_TA/quake3.map</MapFileName>
<MapFileName>Release_TA/quake3live.map</MapFileName>
<SubSystem>Windows</SubSystem>
<StackReserveSize>8388608</StackReserveSize>
<TargetMachine>MachineX86</TargetMachine>
@ -193,7 +200,7 @@
<PreprocessorDefinitions>WIN32;_DEBUG;_WINDOWS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<RuntimeLibrary>MultiThreadedDebug</RuntimeLibrary>
<PrecompiledHeader />
<PrecompiledHeaderOutputFile>.\Debug/quake3.pch</PrecompiledHeaderOutputFile>
<PrecompiledHeaderOutputFile>.\Debug/quake3live.pch</PrecompiledHeaderOutputFile>
<AssemblerListingLocation>.\Debug/</AssemblerListingLocation>
<ObjectFileName>.\Debug/</ObjectFileName>
<ProgramDataBaseFileName>.\Debug/</ProgramDataBaseFileName>
@ -205,12 +212,12 @@
</ClCompile>
<Link>
<AdditionalDependencies>dinput8.lib;winmm.lib;wsock32.lib;%(AdditionalDependencies)</AdditionalDependencies>
<OutputFile>.\Debug/quake3.exe</OutputFile>
<OutputFile>.\Debug/quake3live.exe</OutputFile>
<SuppressStartupBanner>true</SuppressStartupBanner>
<GenerateDebugInformation>true</GenerateDebugInformation>
<ProgramDatabaseFile>.\Debug/quake3.pdb</ProgramDatabaseFile>
<ProgramDatabaseFile>.\Debug/quake3live.pdb</ProgramDatabaseFile>
<GenerateMapFile>true</GenerateMapFile>
<MapFileName>.\Debug/quake3.map</MapFileName>
<MapFileName>.\Debug/quake3live.map</MapFileName>
<SubSystem>Windows</SubSystem>
<StackReserveSize>8388608</StackReserveSize>
<TargetMachine>MachineX86</TargetMachine>
@ -242,7 +249,7 @@
<RuntimeLibrary>MultiThreaded</RuntimeLibrary>
<FunctionLevelLinking>true</FunctionLevelLinking>
<PrecompiledHeader />
<PrecompiledHeaderOutputFile>.\quake3___Win32_Release_TA_DEMO/quake3.pch</PrecompiledHeaderOutputFile>
<PrecompiledHeaderOutputFile>.\quake3___Win32_Release_TA_DEMO/quake3live.pch</PrecompiledHeaderOutputFile>
<AssemblerListingLocation>.\quake3___Win32_Release_TA_DEMO/</AssemblerListingLocation>
<ObjectFileName>.\quake3___Win32_Release_TA_DEMO/</ObjectFileName>
<ProgramDataBaseFileName>.\quake3___Win32_Release_TA_DEMO/</ProgramDataBaseFileName>
@ -252,12 +259,12 @@
</ClCompile>
<Link>
<AdditionalDependencies>dinput8.lib;winmm.lib;wsock32.lib;%(AdditionalDependencies)</AdditionalDependencies>
<OutputFile>.\quake3___Win32_Release_TA_DEMO/quake3.exe</OutputFile>
<OutputFile>.\quake3___Win32_Release_TA_DEMO/quake3live.exe</OutputFile>
<SuppressStartupBanner>true</SuppressStartupBanner>
<GenerateDebugInformation>true</GenerateDebugInformation>
<ProgramDatabaseFile>Release_TA/quake3.pdb</ProgramDatabaseFile>
<ProgramDatabaseFile>Release_TA/quake3live.pdb</ProgramDatabaseFile>
<GenerateMapFile>true</GenerateMapFile>
<MapFileName>Release_TA/quake3.map</MapFileName>
<MapFileName>Release_TA/quake3live.map</MapFileName>
<SubSystem>Windows</SubSystem>
<StackReserveSize>8388608</StackReserveSize>
<TargetMachine>MachineX86</TargetMachine>
@ -284,7 +291,7 @@
<RuntimeLibrary>MultiThreaded</RuntimeLibrary>
<FunctionLevelLinking>true</FunctionLevelLinking>
<PrecompiledHeader />
<PrecompiledHeaderOutputFile>.\Release/quake3.pch</PrecompiledHeaderOutputFile>
<PrecompiledHeaderOutputFile>.\Release/quake3live.pch</PrecompiledHeaderOutputFile>
<AssemblerListingLocation>.\Release/</AssemblerListingLocation>
<ObjectFileName>.\Release/</ObjectFileName>
<ProgramDataBaseFileName>.\Release/</ProgramDataBaseFileName>
@ -293,12 +300,12 @@
</ClCompile>
<Link>
<AdditionalDependencies>dinput8.lib;winmm.lib;wsock32.lib;%(AdditionalDependencies)</AdditionalDependencies>
<OutputFile>.\Release/quake3.exe</OutputFile>
<OutputFile>.\Release/quake3live.exe</OutputFile>
<SuppressStartupBanner>true</SuppressStartupBanner>
<GenerateDebugInformation>true</GenerateDebugInformation>
<ProgramDatabaseFile>.\Release/quake3.pdb</ProgramDatabaseFile>
<ProgramDatabaseFile>.\Release/quake3live.pdb</ProgramDatabaseFile>
<GenerateMapFile>true</GenerateMapFile>
<MapFileName>.\Release/quake3.map</MapFileName>
<MapFileName>.\Release/quake3live.map</MapFileName>
<SubSystem>Windows</SubSystem>
<StackReserveSize>8388608</StackReserveSize>
<TargetMachine>MachineX86</TargetMachine>
@ -322,7 +329,7 @@
<PreprocessorDefinitions>WIN32;_DEBUG;_WINDOWS;PRE_RELEASE_TADEMO;PRE_RELEASE_DEMO;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<RuntimeLibrary>MultiThreadedDebug</RuntimeLibrary>
<PrecompiledHeader />
<PrecompiledHeaderOutputFile>.\quake3___Win32_Debug_TA_DEMO/quake3.pch</PrecompiledHeaderOutputFile>
<PrecompiledHeaderOutputFile>.\quake3___Win32_Debug_TA_DEMO/quake3live.pch</PrecompiledHeaderOutputFile>
<AssemblerListingLocation>.\quake3___Win32_Debug_TA_DEMO/</AssemblerListingLocation>
<ObjectFileName>.\quake3___Win32_Debug_TA_DEMO/</ObjectFileName>
<ProgramDataBaseFileName>.\quake3___Win32_Debug_TA_DEMO/</ProgramDataBaseFileName>
@ -334,12 +341,12 @@
</ClCompile>
<Link>
<AdditionalDependencies>dinput8.lib;winmm.lib;wsock32.lib;%(AdditionalDependencies)</AdditionalDependencies>
<OutputFile>.\quake3___Win32_Debug_TA_DEMO/quake3.exe</OutputFile>
<OutputFile>.\quake3___Win32_Debug_TA_DEMO/quake3live.exe</OutputFile>
<SuppressStartupBanner>true</SuppressStartupBanner>
<GenerateDebugInformation>true</GenerateDebugInformation>
<ProgramDatabaseFile>.\quake3___Win32_Debug_TA_DEMO/quake3.pdb</ProgramDatabaseFile>
<ProgramDatabaseFile>.\quake3___Win32_Debug_TA_DEMO/quake3live.pdb</ProgramDatabaseFile>
<GenerateMapFile>true</GenerateMapFile>
<MapFileName>Debug_TA/quake3.map</MapFileName>
<MapFileName>Debug_TA/quake3live.map</MapFileName>
<SubSystem>Windows</SubSystem>
<StackReserveSize>8388608</StackReserveSize>
<TargetMachine>MachineX86</TargetMachine>
@ -368,7 +375,7 @@
<RuntimeLibrary>MultiThreaded</RuntimeLibrary>
<FunctionLevelLinking>true</FunctionLevelLinking>
<PrecompiledHeader />
<PrecompiledHeaderOutputFile>.\quake3___Win32_vector0/quake3.pch</PrecompiledHeaderOutputFile>
<PrecompiledHeaderOutputFile>.\quake3___Win32_vector0/quake3live.pch</PrecompiledHeaderOutputFile>
<AssemblerListingLocation>.\quake3___Win32_vector0/</AssemblerListingLocation>
<ObjectFileName>.\quake3___Win32_vector0/</ObjectFileName>
<ProgramDataBaseFileName>.\quake3___Win32_vector0/</ProgramDataBaseFileName>
@ -378,12 +385,12 @@
</ClCompile>
<Link>
<AdditionalDependencies>dinput8.lib;winmm.lib;wsock32.lib;%(AdditionalDependencies)</AdditionalDependencies>
<OutputFile>.\quake3___Win32_vector0/quake3.exe</OutputFile>
<OutputFile>.\quake3___Win32_vector0/quake3live.exe</OutputFile>
<SuppressStartupBanner>true</SuppressStartupBanner>
<GenerateDebugInformation>true</GenerateDebugInformation>
<ProgramDatabaseFile>Release_TA/quake3.pdb</ProgramDatabaseFile>
<ProgramDatabaseFile>Release_TA/quake3live.pdb</ProgramDatabaseFile>
<GenerateMapFile>true</GenerateMapFile>
<MapFileName>Release_TA/quake3.map</MapFileName>
<MapFileName>Release_TA/quake3live.map</MapFileName>
<SubSystem>Windows</SubSystem>
<StackReserveSize>8388608</StackReserveSize>
<TargetMachine>MachineX86</TargetMachine>
@ -407,7 +414,7 @@
<PreprocessorDefinitions>WIN32;_DEBUG;_WINDOWS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<RuntimeLibrary>MultiThreadedDebug</RuntimeLibrary>
<PrecompiledHeader />
<PrecompiledHeaderOutputFile>.\Debug_TA/quake3.pch</PrecompiledHeaderOutputFile>
<PrecompiledHeaderOutputFile>.\Debug_TA/quake3live.pch</PrecompiledHeaderOutputFile>
<AssemblerListingLocation>.\Debug_TA/</AssemblerListingLocation>
<ObjectFileName>.\Debug_TA/</ObjectFileName>
<ProgramDataBaseFileName>.\Debug_TA/</ProgramDataBaseFileName>
@ -419,12 +426,12 @@
</ClCompile>
<Link>
<AdditionalDependencies>dinput8.lib;winmm.lib;wsock32.lib;%(AdditionalDependencies)</AdditionalDependencies>
<OutputFile>.\Debug_TA/quake3.exe</OutputFile>
<OutputFile>.\Debug_TA/quake3live.exe</OutputFile>
<SuppressStartupBanner>true</SuppressStartupBanner>
<GenerateDebugInformation>true</GenerateDebugInformation>
<ProgramDatabaseFile>.\Debug_TA/quake3.pdb</ProgramDatabaseFile>
<ProgramDatabaseFile>.\Debug_TA/quake3live.pdb</ProgramDatabaseFile>
<GenerateMapFile>true</GenerateMapFile>
<MapFileName>Debug_TA/quake3.map</MapFileName>
<MapFileName>Debug_TA/quake3live.map</MapFileName>
<SubSystem>Windows</SubSystem>
<StackReserveSize>8388608</StackReserveSize>
<TargetMachine>MachineX86</TargetMachine>

View file

@ -560,4 +560,16 @@
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
<ImportGroup Label="ExtensionTargets">
</ImportGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug TA|Win32'">
<_CopyOutputFile>$(SolutionDir)Debug_TA\uix86.dll</_CopyOutputFile>
<_CopyOutputDir>$(SolutionDir)..\workdir\missionpack\</_CopyOutputDir>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release TA|Win32'">
<_CopyOutputFile>$(SolutionDir)Release_TA\uix86.dll</_CopyOutputFile>
<_CopyOutputDir>$(SolutionDir)..\workdir\missionpack\</_CopyOutputDir>
</PropertyGroup>
<Target Name="AfterBuild" Condition="'$(_CopyOutputFile)' != ''">
<MakeDir Directories="$(_CopyOutputDir)" />
<Copy SourceFiles="$(_CopyOutputFile)" DestinationFolder="$(_CopyOutputDir)" />
</Target>
</Project>

View file

@ -37,6 +37,10 @@ static unsigned short s_oldHardwareGamma[3][256];
*/
void WG_CheckHardwareGamma( void )
{
#ifndef ENABLE_HW_GAMMA
glConfig.deviceSupportsGamma = qfalse;
return;
#else
HDC hDC;
glConfig.deviceSupportsGamma = qfalse;
@ -96,6 +100,7 @@ void WG_CheckHardwareGamma( void )
}
}
}
#endif // ENABLE_HW_GAMMA
}
/*
@ -131,6 +136,9 @@ void mapGammaMax( void ) {
** This routine should only be called if glConfig.deviceSupportsGamma is TRUE
*/
void GLimp_SetGamma( unsigned char red[256], unsigned char green[256], unsigned char blue[256] ) {
#ifndef ENABLE_HW_GAMMA
return;
#else
unsigned short table[3][256];
int i, j;
int ret;
@ -188,6 +196,7 @@ void GLimp_SetGamma( unsigned char red[256], unsigned char green[256], unsigned
Com_Printf( "SetDeviceGammaRamp failed.\n" );
}
}
#endif // ENABLE_HW_GAMMA
}
/*
@ -195,6 +204,9 @@ void GLimp_SetGamma( unsigned char red[256], unsigned char green[256], unsigned
*/
void WG_RestoreGamma( void )
{
#ifndef ENABLE_HW_GAMMA
return;
#else
if ( glConfig.deviceSupportsGamma )
{
if ( qwglSetDeviceGammaRamp3DFX )
@ -210,5 +222,6 @@ void WG_RestoreGamma( void )
ReleaseDC( GetDesktopWindow(), hDC );
}
}
#endif // ENABLE_HW_GAMMA
}