Files
RP412/RP_L4/RPL4TOOL.vcxproj
T
CydandClaude Fable 5 12b31187f9 Move the build to VS2022 (v143) with runtime parity against VC9
Hand-converted the four .vcproj projects to .vcxproj (Win32, v143,
Windows 11 SDK + DXSDK June 2010 for d3dx9/dxerr only). WinTesla.sln now
builds the v143 projects; the legacy solution is kept as WinTesla_vc9.sln.

Kept: /Zp1 in Munga_L4+RP_L4, Unicode, x86, /DYNAMICBASE:NO,
/FORCE:MULTIPLE (header-defined globals still duplicated across TUs).
Changed: CRT unified to /MD(d); import libs linked by the exes instead of
merged into Munga_L4.lib; WINDOWS_IGNORE_PACKING_MISMATCH and
_SILENCE_STDEXT_HASH_DEPRECATION_WARNINGS defined;
legacy_stdio_definitions.lib for the June-2010 dxerr.lib.

Source fixes, all behavior-preserving: Time gains standard (non-volatile)
copy-ctor/assignment overloads (rvalues cannot bind to volatile& in
standard C++); operator==(SOCKADDR_IN&,...) made inline; L4DINPUT's
Enum*Callback pair renamed DIEnum* (collided with L4CTRL's under LTCG);
std::ios.in -> std::ios::in in CAMMGR.cpp.

Verified: VC9 baseline rebuilt from this tree first, then the v143 build
compared against it in a sandboxed game working copy - identical logs and
behavior through RIO init (against vRIO) and mission load, including the
same pre-existing AV in d3d_OBJECT::LoadTexture (L4D3D.cpp:262) that both
toolchains hit; documented in BUILD.md 4 as the next debugging target.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-12 12:22:31 -05:00

132 lines
6.1 KiB
XML

<?xml version="1.0" encoding="utf-8"?>
<Project DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<ItemGroup Label="ProjectConfigurations">
<ProjectConfiguration Include="Debug|Win32">
<Configuration>Debug</Configuration>
<Platform>Win32</Platform>
</ProjectConfiguration>
<ProjectConfiguration Include="Release|Win32">
<Configuration>Release</Configuration>
<Platform>Win32</Platform>
</ProjectConfiguration>
</ItemGroup>
<PropertyGroup Label="Globals">
<ProjectGuid>{4A7C7DFD-1383-4C1A-926C-B70F654429A9}</ProjectGuid>
<RootNamespace>RPL4TOOL</RootNamespace>
<Keyword>Win32Proj</Keyword>
</PropertyGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
<PropertyGroup Label="Configuration">
<ConfigurationType>Application</ConfigurationType>
<PlatformToolset>v143</PlatformToolset>
<CharacterSet>Unicode</CharacterSet>
<WindowsTargetPlatformVersion>10.0</WindowsTargetPlatformVersion>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)'=='Debug'" Label="Configuration">
<UseDebugLibraries>true</UseDebugLibraries>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)'=='Release'" Label="Configuration">
<UseDebugLibraries>false</UseDebugLibraries>
<WholeProgramOptimization>true</WholeProgramOptimization>
</PropertyGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
<PropertyGroup>
<OutDir>$(SolutionDir)$(Configuration)\</OutDir>
<!-- Keep a distinct IntDir from RP_L4.vcxproj (both live in this folder);
the $(Configuration)-prefixed name stays inside .gitignore's Release*/ rule. -->
<IntDir>$(Configuration)_RPL4TOOL\</IntDir>
<TargetName>RPL4TOOL</TargetName>
<!-- Legacy DirectX SDK (June 2010) after the Windows SDK so modern headers/libs win. -->
<IncludePath>$(IncludePath);$(DXSDK_DIR)Include</IncludePath>
<LibraryPath>$(LibraryPath);$(DXSDK_DIR)Lib\x86</LibraryPath>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)'=='Debug'">
<LinkIncremental>true</LinkIncremental>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)'=='Release'">
<LinkIncremental>false</LinkIncremental>
</PropertyGroup>
<ItemDefinitionGroup>
<ClCompile>
<WarningLevel>Level3</WarningLevel>
<ConformanceMode>false</ConformanceMode>
<MultiProcessorCompilation>true</MultiProcessorCompilation>
<!-- NOTE: the original RPL4TOOL project did NOT use /Zp1 - kept faithful. -->
<PreprocessorDefinitions>WIN32;_CONSOLE;WINDOWS_IGNORE_PACKING_MISMATCH;_SILENCE_STDEXT_HASH_DEPRECATION_WARNINGS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<DisableSpecificWarnings>4996;4244;4267;4305;4018;4138;%(DisableSpecificWarnings)</DisableSpecificWarnings>
<DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
</ClCompile>
<Link>
<SubSystem>Console</SubSystem>
<TargetMachine>MachineX86</TargetMachine>
<AdditionalOptions>/FORCE:MULTIPLE %(AdditionalOptions)</AdditionalOptions>
<AdditionalLibraryDirectories>..\lib;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
<!-- OpenAL32/d3d9/d3dx9 were historically merged into Munga_L4.lib by the
librarian; the vcxproj build links them here instead. -->
<AdditionalDependencies>ws2_32.lib;dinput8.lib;dxguid.lib;OpenAL32.lib;libsndfile-1.lib;d3d9.lib;legacy_stdio_definitions.lib;%(AdditionalDependencies)</AdditionalDependencies>
<GenerateDebugInformation>true</GenerateDebugInformation>
</Link>
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Configuration)'=='Debug'">
<ClCompile>
<Optimization>Disabled</Optimization>
<BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>
<RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary>
<PreprocessorDefinitions>_DEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
</ClCompile>
<Link>
<AdditionalDependencies>d3dx9d.lib;%(AdditionalDependencies)</AdditionalDependencies>
</Link>
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Configuration)'=='Release'">
<ClCompile>
<Optimization>MaxSpeed</Optimization>
<FunctionLevelLinking>true</FunctionLevelLinking>
<IntrinsicFunctions>true</IntrinsicFunctions>
<RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary>
<PreprocessorDefinitions>NDEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
</ClCompile>
<Link>
<AdditionalDependencies>d3dx9.lib;%(AdditionalDependencies)</AdditionalDependencies>
<EnableCOMDATFolding>true</EnableCOMDATFolding>
<OptimizeReferences>true</OptimizeReferences>
<LinkTimeCodeGeneration>UseLinkTimeCodeGeneration</LinkTimeCodeGeneration>
</Link>
</ItemDefinitionGroup>
<ItemGroup>
<ProjectReference Include="..\MUNGA_L4\Munga_L4.vcxproj">
<Project>{F988B198-A386-40DD-A50E-9A5CE17A92A5}</Project>
</ProjectReference>
</ItemGroup>
<ItemGroup>
<ClCompile Include="..\RP\BLOCKER.cpp" />
<ClCompile Include="..\RP\BOOSTER.cpp" />
<ClCompile Include="..\RP\CHUTE.cpp" />
<ClCompile Include="..\RP\CRUSHER.cpp" />
<ClCompile Include="..\RP\DEMOPACK.cpp" />
<ClCompile Include="..\RP\RIVET.cpp" />
<ClCompile Include="..\RP\RPCNSL.cpp" />
<ClCompile Include="..\RP\RPDIRECT.cpp" />
<ClCompile Include=".\RPL4MODE.cpp" />
<ClCompile Include=".\RPL4TOOL.cpp" />
<ClCompile Include="..\RP\RPMSSN.cpp" />
<ClCompile Include="..\RP\RPPLAYER.cpp" />
<ClCompile Include="..\RP\RPREG.cpp" />
<ClCompile Include="..\RP\RPTOOL.cpp" />
<ClCompile Include="..\RP\RUNNER.cpp" />
<ClCompile Include="..\RP\SCORZONE.cpp" />
<ClCompile Include="..\RP\THRUSTER.cpp" />
<ClCompile Include="..\RP\VTV.cpp" />
<ClCompile Include="..\RP\VTVMPPR.cpp" />
<ClCompile Include="..\RP\VTVPWR.cpp" />
<ClCompile Include="..\RP\VTVSUB.cpp" />
<ClCompile Include="..\RP\WEAPSYS.cpp" />
<ClCompile Include=".\WTPresets.cpp" />
</ItemGroup>
<ItemGroup>
<ClInclude Include="..\RP\RPTOOL.h" />
</ItemGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
</Project>