Two things that travel together, because the packaging script carries both. STEAMWORKS 1.65 replaces 1.64. steam_api.dll goes 10.51.08.25 -> 10.87.46.89. Vendored the same way - headers and the win32 redistributable only, examples and other platforms left out - and 1.64 is gone rather than left beside it, since nothing referenced it any more: both include paths, the library path, the DLL the packaging script copies, and the docs that name the folder all moved over. The vendoring rules also gained a line they always needed. The redistributable DLL is caught by the global *.dll rule at the repo root, so it only ever got in by a git add -f, and a fresh checkout could not produce a package without noticing the DLL was missing. It is now re-included by name. OUR OWN APPID, 5108000, replaces Spacewar's 480. steam_appid.txt is what tells the Steam client which game this is when a build is started straight from its folder, which is how every tester runs it. The consequence worth knowing before the next test night: 480 was Valve's public one and every account effectively had it. 5108000 is ours, so the Steam account has to actually have Red Planet on it. An account without it gets the plain TCP fallback - the same quiet symptom as a missing appid file - so the handbook, the environ.ini template, the README and the three-machine test doc all now say to check that first. Nothing in the code hardcodes the number; the file is the whole story. Retail builds launched BY the Steam client need no such file at all. Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
207 lines
9.9 KiB
XML
207 lines
9.9 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>{01B740F7-5D4E-4E42-893F-CE018E5EE785}</ProjectGuid>
|
|
<RootNamespace>RP_L4</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>
|
|
<IntDir>$(Configuration)\</IntDir>
|
|
<TargetName>rpl4opt</TargetName>
|
|
<!-- Legacy DirectX SDK (June 2010) after the Windows SDK so modern headers/libs win;
|
|
only d3dx9 and dxerr actually come from it. -->
|
|
<IncludePath>$(IncludePath);$(DXSDK_DIR)Include;..\extern\steamworks_sdk_165\sdk\public</IncludePath>
|
|
<LibraryPath>$(LibraryPath);$(DXSDK_DIR)Lib\x86;..\extern\steamworks_sdk_165\sdk\redistributable_bin</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>
|
|
<FavorSizeOrSpeed>Speed</FavorSizeOrSpeed>
|
|
<!-- The engine's on-disk and on-wire binary formats assume 1-byte packing. -->
|
|
<StructMemberAlignment>1Byte</StructMemberAlignment>
|
|
<!-- RP412_STEAM: Steam transport available; activated at runtime by RP412STEAM=1. -->
|
|
<PreprocessorDefinitions>WIN32;_WINDOWS;_CRT_SECURE_NO_DEPRECATE;WINDOWS_IGNORE_PACKING_MISMATCH;_SILENCE_STDEXT_HASH_DEPRECATION_WARNINGS;RP412_STEAM;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
|
<DisableSpecificWarnings>4996;4244;4267;4305;4018;4138;%(DisableSpecificWarnings)</DisableSpecificWarnings>
|
|
<DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
|
|
</ClCompile>
|
|
<Link>
|
|
<SubSystem>Windows</SubSystem>
|
|
<TargetMachine>MachineX86</TargetMachine>
|
|
<!-- Same source files are compiled into both Munga_l4.lib and this exe
|
|
(WTPresets.cpp et al.), as in the original projects. -->
|
|
<AdditionalOptions>/FORCE:MULTIPLE %(AdditionalOptions)</AdditionalOptions>
|
|
<AdditionalLibraryDirectories>..\lib;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
|
|
<!-- legacy_stdio_definitions satisfies the June-2010 dxerr.lib on modern MSVC. -->
|
|
<AdditionalDependencies>ws2_32.lib;dinput8.lib;dxguid.lib;OpenAL32.lib;libsndfile-1.lib;d3d9.lib;legacy_stdio_definitions.lib;steam_api.lib;delayimp.lib;%(AdditionalDependencies)</AdditionalDependencies>
|
|
<!-- steam_api.dll is DELAY-LOADED so the game runs without it: a
|
|
statically imported DLL that is merely absent kills the process
|
|
at load time, before any window or log line (0xC0000135). Now
|
|
nothing touches it until Steam is actually asked for, and
|
|
SteamNetTransport_ClientLibraryPresent() gates the call sites so
|
|
a missing DLL falls back to TCP instead of raising the
|
|
delay-load helper's fatal exception. delayimp.lib supplies that
|
|
helper. -->
|
|
<DelayLoadDLLs>steam_api.dll;%(DelayLoadDLLs)</DelayLoadDLLs>
|
|
<RandomizedBaseAddress>false</RandomizedBaseAddress>
|
|
<GenerateDebugInformation>true</GenerateDebugInformation>
|
|
</Link>
|
|
<!-- rpl4build.h is generated, not committed: the patch number is the
|
|
repository's commit count, so a hardcoded one would be stale the
|
|
moment it was committed. The script rewrites the header only when
|
|
the stamp actually changes, so this does not drag RPL4.CPP through
|
|
a recompile on every build. -->
|
|
<PreBuildEvent>
|
|
<Command>powershell -NoProfile -ExecutionPolicy Bypass -File "$(ProjectDir)..\stamp-version.ps1"</Command>
|
|
<Message>Stamping the build version from git</Message>
|
|
</PreBuildEvent>
|
|
</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>Full</Optimization>
|
|
<InlineFunctionExpansion>OnlyExplicitInline</InlineFunctionExpansion>
|
|
<IntrinsicFunctions>true</IntrinsicFunctions>
|
|
<FunctionLevelLinking>true</FunctionLevelLinking>
|
|
<EnableFiberSafeOptimizations>true</EnableFiberSafeOptimizations>
|
|
<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=".\RPL4.CPP" />
|
|
<ClCompile Include=".\RPL4APP.cpp" />
|
|
<ClCompile Include=".\RPL4CONSOLE.cpp" />
|
|
<ClCompile Include=".\RPL4FE.cpp" />
|
|
<ClCompile Include=".\RPL4ENVIRON.cpp" />
|
|
<ClCompile Include=".\RPL4LOBBY.cpp" />
|
|
<ClCompile Include=".\RPL4ARND.cpp" />
|
|
<ClCompile Include=".\RPL4GAUG.cpp" />
|
|
<ClCompile Include=".\RPL4GRND.cpp" />
|
|
<ClCompile Include=".\RPL4MODE.cpp" />
|
|
<ClCompile Include=".\RPL4MPPR.cpp" />
|
|
<ClCompile Include=".\RPL4MSSN.cpp" />
|
|
<ClCompile Include=".\RPL4PB.cpp" />
|
|
<ClCompile Include=".\RPL4SPOOLSTATS.cpp" />
|
|
<ClCompile Include=".\RPL4TOOL.cpp" />
|
|
<ClCompile Include=".\RPL4VID.cpp" />
|
|
<ClCompile Include=".\WTPresets.cpp" />
|
|
<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="..\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" />
|
|
</ItemGroup>
|
|
<ItemGroup>
|
|
<ClInclude Include=".\RPL4.h" />
|
|
<ClInclude Include=".\RPL4.HPP" />
|
|
<ClInclude Include=".\RPL4APP.h" />
|
|
<ClInclude Include=".\RPL4CONSOLE.h" />
|
|
<ClInclude Include=".\RPL4FE.h" />
|
|
<ClInclude Include=".\rpl4environ.h" />
|
|
<ClInclude Include=".\RPL4LOBBY.h" />
|
|
<ClInclude Include=".\RPL4ARND.h" />
|
|
<ClInclude Include=".\RPL4GAUG.h" />
|
|
<ClInclude Include=".\RPL4GRND.h" />
|
|
<ClInclude Include=".\RPL4MODE.h" />
|
|
<ClInclude Include=".\RPL4MPPR.h" />
|
|
<ClInclude Include=".\RPL4MSSN.h" />
|
|
<ClInclude Include=".\RPL4PB.h" />
|
|
<ClInclude Include=".\RPL4VER.h" />
|
|
<ClInclude Include=".\RPL4VID.h" />
|
|
<ClInclude Include=".\WTPresets.h" />
|
|
<ClInclude Include="..\RP\BLOCKER.h" />
|
|
<ClInclude Include="..\RP\BOOSTER.h" />
|
|
<ClInclude Include="..\RP\CHUTE.h" />
|
|
<ClInclude Include="..\RP\CRUSHER.h" />
|
|
<ClInclude Include="..\RP\DEMOPACK.h" />
|
|
<ClInclude Include="..\RP\RIVET.h" />
|
|
<ClInclude Include="..\RP\RP.h" />
|
|
<ClInclude Include="..\RP\RPCNSL.h" />
|
|
<ClInclude Include="..\RP\RPDIRECT.h" />
|
|
<ClInclude Include="..\RP\RPMSSN.h" />
|
|
<ClInclude Include="..\RP\RPPLAYER.h" />
|
|
<ClInclude Include="..\RP\RPREG.h" />
|
|
<ClInclude Include="..\RP\RPTOOL.h" />
|
|
<ClInclude Include="..\RP\RUNNER.h" />
|
|
<ClInclude Include="..\RP\SCORZONE.h" />
|
|
<ClInclude Include="..\RP\THRUSTER.h" />
|
|
<ClInclude Include="..\RP\VTV.h" />
|
|
<ClInclude Include="..\RP\VTVMPPR.h" />
|
|
<ClInclude Include="..\RP\VTVPWR.h" />
|
|
<ClInclude Include="..\RP\VTVSUB.h" />
|
|
<ClInclude Include="..\RP\WEAPSYS.h" />
|
|
</ItemGroup>
|
|
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
|
|
</Project>
|
|
|