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>
This commit is contained in:
Cyd
2026-07-12 12:22:31 -05:00
co-authored by Claude Fable 5
parent 467934c968
commit 12b31187f9
17 changed files with 2561 additions and 203 deletions
+80 -146
View File
@@ -1,180 +1,114 @@
# Building Red Planet (v4.10, Win32) # Building Red Planet 4.12 (Win32)
This is the Win32 source for the pod-racing game **Red Planet**, built on the This is the Win32 source for the pod-racing game **Red Planet**, built on the
in-house **MUNGA** engine and its **L4** (Win32 / DirectX 9) platform layer. in-house **MUNGA** engine and its **L4** (Win32 / DirectX 9) platform layer.
The code targets the Visual Studio 2005/2008 era and the legacy DirectX SDK. As of RP 4.12 the build targets **Visual Studio 2022 (v143)**; the legacy
VS 2005/2008 projects are retained for reference (see §5).
> ✅ **Verified build (2026-07-01):** all 4 projects build clean (`Release|Win32`) > ✅ **Verified build (2026-07-12):** all 4 projects build clean (`Release|Win32`)
> with **Visual C++ 2008 Express SP1** + **Windows SDK v6.0A** (VS-bundled) + > with **VS2022 Build Tools 17.14** (MSVC 14.44, v143) + **Windows 11 SDK
> **DirectX SDK (June 2010)**. Outputs: `Release\rpl4opt.exe` (the game), > (10.0.26100)** + **DirectX SDK (June 2010)**. Outputs: `Release\rpl4opt.exe`
> `Release\RPL4TOOL.exe`, `lib\Munga_L4.lib`, `lib\DivLoader.lib`. > (the game), `Release\RPL4TOOL.exe`, `lib\Munga_l4.lib`, `lib\DivLoader.lib`.
> Only compiler *warnings* remain (deprecated CRT calls, int→Scalar narrowing, > Runtime-verified against the VC9 baseline built from the same tree: identical
> benign `LNK4006`/`LNK4221` duplicate-symbol notes). See §7 for the CLI recipe. > log output and behavior at every checkpoint, including RIO init against vRIO
> and mission load (see §4 for the pre-existing crash both builds share).
--- ---
## 1. Requirements ## 1. Requirements
You must supply the toolchain — none of it is checked into this repo. | Component | Version | Notes |
|-----------|---------|-------|
| Component | Required version | Notes | | **VS2022 Build Tools** (or any VS2022 with C++ workload) | 17.x, MSVC v143 | Installed at `C:\Program Files (x86)\Microsoft Visual Studio\2022\BuildTools`. Install via `winget install Microsoft.VisualStudio.2022.BuildTools --override "--quiet --wait --add Microsoft.VisualStudio.Workload.VCTools --includeRecommended"`. |
|-----------|------------------|-------| | **Windows 10/11 SDK** | any recent (26100 verified) | Comes with the VCTools workload. |
| **Visual Studio** | 2005 (v8) or 2008 (v9) — **Express is fine** | Project files are the legacy `.vcproj` format. Modern MSBuild **cannot** build `.vcproj` directly — it needs `VCBuild.exe`, which only ships with VS 2005/2008. A newer VS (2022) can build these but will first *upgrade* the projects to `.vcxproj`. The code uses **no MFC** and (as of the ATL-removal change) **no ATL**, so the free **Visual C++ Express** editions build it — see §6. | | **DirectX SDK (June 2010)** | — | Still needed for **d3dx9** and **dxerr** only; everything else now comes from the Windows SDK. The projects reference it via `$(DXSDK_DIR)`, which the SDK installer sets machine-wide. The DXSDK include/lib paths are appended **after** the Windows SDK paths (see the `IncludePath`/`LibraryPath` properties in the projects) so modern headers win — do not move them to `AdditionalIncludeDirectories`. |
| **DirectX SDK** | June 2010 (installed) — March 2009 also works | Provides `d3d9.lib`, `d3dx9.lib`, `dinput8.lib`, `dxguid.lib`, `dxerr.lib` and headers. ✅ Confirmed installed at `C:\Program Files (x86)\Microsoft DirectX SDK (June 2010)` with `DXSDK_DIR` set machine-wide. |
| **Windows SDK / Platform SDK** | Matching your VS (e.g. Windows SDK 7.1) | Provides `WS2_32.lib`, `dbghelp.lib`, etc. With an Express edition, install the standalone Windows SDK 7.1 to guarantee these. Note: `dbghelp.lib` is listed as a link input but **no source references it** — drop it from the linker line if it isn't found. |
| **`DXSDK_DIR` environment variable** | — | The DirectX SDK installer sets this automatically (includes a trailing backslash). The projects reference the SDK **only** through this variable — see §4. |
### Bundled third-party libraries (already in the repo) ### Bundled third-party libraries (already in the repo)
These are committed under [lib/](lib/) and do **not** need to be installed: Committed under [lib/](lib/), no install needed: `OpenAL32.lib`, `libsndfile-1.lib`
(import libs). At **run time** the game needs `OpenAL32.dll` (system-wide install —
`assets/RP411/oalinst.exe` — or beside the exe) and `libsndfile-1.dll` (beside the
exe; a copy ships in `assets/RP411/`).
- `OpenAL32.lib` — OpenAL audio ## 2. Building
- `libsndfile-1.lib` — sound-file loading
Their headers live in [MUNGA_L4/openal/](MUNGA_L4/openal/) and
[MUNGA_L4/sndfile.h](MUNGA_L4/sndfile.h). You will still need the matching
runtime DLLs (`OpenAL32.dll`, `libsndfile-1.dll`) next to the built `.exe` to run it.
---
## 2. Solution / project layout
The solution is [WinTesla.sln](WinTesla.sln). It builds four projects:
| Project | File | Type | Output | Depends on |
|---------|------|------|--------|------------|
| **Munga_L4** | [MUNGA_L4/Munga_L4.vcproj](MUNGA_L4/Munga_L4.vcproj) | Static lib | `lib\Munga_l4.lib` | — |
| **RP_L4** | [RP_L4/RP_L4.vcproj](RP_L4/RP_L4.vcproj) | Application (exe) | `rpl4opt.exe` | Munga_L4 |
| **RPL4TOOL** | [RP_L4/RPL4TOOL.vcproj](RP_L4/RPL4TOOL.vcproj) | Application (exe) | tool exe | Munga_L4 |
| **DivLoader** | [DivLoader/DivLoader.vcproj](DivLoader/DivLoader.vcproj) | Static lib | `lib\*.lib` | — |
**Build order:** `Munga_L4` → then `RP_L4` / `RPL4TOOL` (the dependency is
declared in the solution, so a solution-level build resolves it automatically).
`RP_L4` is the game itself. Its release output is **`rpl4opt.exe`**
(subsystem: Windows GUI).
### VS2008 project variants
Each of the three main projects also ships a `... VS2008.vcproj` variant
(format 9.00) alongside the original 8.00 files:
- `MUNGA_L4/Munga_L4 VS2008.vcproj`
- `RP_L4/RP_L4 VS2008.vcproj`
- `RP_L4/RPL4TOOL VS2008.vcproj`
The `.sln` references the **8.00** files. If you open in VS 2008, either let it
upgrade the 8.00 projects, or repoint the solution at the `VS2008` variants.
---
## 3. Build steps
1. Install VS 2005/2008 (with the C++ workload) and the DirectX SDK.
Confirm the SDK set `DXSDK_DIR`:
```powershell
echo $env:DXSDK_DIR
```
2. Open `WinTesla.sln` in Visual Studio.
- If prompted to upgrade the projects (newer VS), accept — this rewrites the
`.vcproj` files to `.vcxproj`. Keep those changes on a branch.
3. Select a configuration: **Debug | Win32** or **Release | Win32**.
(`x64` is not configured — this is a 32-bit build.)
4. Build the solution (`Ctrl+Shift+B`). `Munga_l4.lib` is produced first into
`lib\`, then the executables link against it.
### Command-line build (only with VS 2005/2008 installed)
```powershell ```powershell
# From a "Visual Studio 2008 Command Prompt": & "C:\Program Files (x86)\Microsoft Visual Studio\2022\BuildTools\MSBuild\Current\Bin\MSBuild.exe" `
vcbuild WinTesla.sln "Release|Win32" WinTesla.sln /p:Configuration=Release /p:Platform=Win32 /m
```
> Do **not** use `C:\Windows\Microsoft.NET\Framework\...\MSBuild.exe` on this
> solution — it fails with `MSB3428: Could not load the Visual C++ component
> "VCBuild.exe"` because the legacy C++ toolset is not present.
---
## 4. DirectX SDK path (no longer hardcoded)
Originally `Munga_L4.vcproj` and `RP_L4.vcproj` hardcoded the absolute path
`C:\Program Files (x86)\Microsoft DirectX SDK (March 2009)\...`. These have been
changed to use the standard installer-provided variable, matching what the
VS2008 variants already did:
- Include dir → `"$(DXSDK_DIR)Include"`
- Library dir → `"$(DXSDK_DIR)Lib\x86"`
So any DirectX SDK version installed to any location will work, as long as
`DXSDK_DIR` is set. If you build in an environment where it is not set, either
set it manually or pass it to the build, e.g.:
```powershell
$env:DXSDK_DIR = "C:\DXSDK\" # note the trailing backslash
``` ```
--- `Debug|Win32` also builds. `x64` is not configured — this is a 32-bit build.
The solution is [WinTesla.sln](WinTesla.sln) with four v143 projects:
## 5. Known caveats | Project | Type | Output |
|---------|------|--------|
| [MUNGA_L4/Munga_L4.vcxproj](MUNGA_L4/Munga_L4.vcxproj) | Static lib | `lib\Munga_l4.lib` |
| [RP_L4/RP_L4.vcxproj](RP_L4/RP_L4.vcxproj) | App (Windows) | `Release\rpl4opt.exe`**the game** |
| [RP_L4/RPL4TOOL.vcxproj](RP_L4/RPL4TOOL.vcxproj) | App (Console) | `Release\RPL4TOOL.exe` |
| [DivLoader/DivLoader.vcxproj](DivLoader/DivLoader.vcxproj) | Static lib | `lib\DivLoader.lib` (Release) |
- **32-bit only.** No `x64` configuration exists. Build order is resolved by `ProjectReference` (RP_L4 and RPL4TOOL both reference
- **`Remote Debug|Win32`** configuration is present but is a debugging target, Munga_L4).
not a normal build config.
- Requires the OpenAL and libsndfile **runtime DLLs** at run time (see §1).
- See [docs/BUILD-NOTES.md](docs/BUILD-NOTES.md) for the repository cleanup
history, orphaned files, and the full findings behind this document.
--- ## 3. VS2022 migration notes (what changed and why)
## 6. Building with Visual C++ Express (2008) Settings preserved from the VC9 projects: **`/Zp1` struct packing** in Munga_L4
and RP_L4 (the engine's on-disk/on-wire binary formats depend on it — RPL4TOOL
and DivLoader never had it), Unicode, subsystems, x86, `/DYNAMICBASE:NO`,
optimization levels, and `/FORCE:MULTIPLE` (see below). Deliberate changes:
The Express editions are free but ship **without MFC and without ATL**. This - **CRT unified to `/MD` (Release) / `/MDd` (Debug).** The VC9 build mixed
codebase uses no MFC, and its only ATL dependency has been removed, so Express `/MT` (Munga_L4, RPL4TOOL) with `/MD` (RP_L4) and forced the link.
now builds it: - **Import libs are no longer merged into `Munga_L4.lib`** by the librarian;
the exes link OpenAL32/d3d9/d3dx9/dinput8/dxguid/ws2_32 directly.
- `WINDOWS_IGNORE_PACKING_MISMATCH` is defined: the modern Windows SDK
`static_assert`s against `/Zp1`; the VC9 build always compiled Windows
headers at `/Zp1`, so this preserves those exact semantics. Un-`/Zp1`-ing
the engine (pragma-pack only the serialized structs) is future work.
- `_SILENCE_STDEXT_HASH_DEPRECATION_WARNINGS` is defined: the code still uses
`stdext::hash_map`; porting to `std::unordered_map` is future work.
- `legacy_stdio_definitions.lib` is linked: the June-2010 `dxerr.lib`
references pre-UCRT stdio symbols.
- **Source fixes** (behavior-preserving): standard copy-ctor/assignment
overloads added to `Time` (rvalues can't bind to `volatile&` in standard
C++); `operator==(SOCKADDR_IN&,...)` in `NETWORK.h` made `inline`; the
L4DINPUT callbacks renamed `DIEnum*` (they collided with L4CTRL's under
LTCG); `std::ios.in``std::ios::in` in `CAMMGR.cpp`.
- `/FORCE:MULTIPLE` is still required: `gOpNames`, `gReplacementData`
(hash_maps defined in a header) and `GlobalEggFileName` are genuinely
defined in multiple TUs (LNK4006 warnings, same as the VC9 build). Moving
them to a single TU is future cleanup.
- `MUNGA_L4/L4APP.cpp` previously included `<atlbase.h>` / `<atlconv.h>` and used ## 4. Known runtime issue (pre-existing, both toolchains)
the `USES_CONVERSION` / `W2A` macros to convert wide command-line arguments to
ANSI. These were replaced with a small self-contained `L4WideToAnsi` helper
(a thin `WideCharToMultiByte` wrapper) that reproduces ATL's `W2A` behaviour.
- `UseOfATL` was set to `0` in `Munga_L4.vcproj`, `RP_L4.vcproj` and their
`VS2008` variants.
Checklist for a clean Express build: Standalone mission load (`rpl4opt.exe -windowed -res 640 480 -egg TEST.EGG`,
run from a game working copy such as `assets/RP411/`) **crashes with an access
violation in `d3d_OBJECT::LoadTexture`** ([MUNGA_L4/L4D3D.cpp](MUNGA_L4/L4D3D.cpp) @ 262,
called from `LoadObject``DPLRenderer::MakeEntityRenderables`) right after
the `Entity -1:10x class42 couldn't figure out how to MakeEntityRenderables`
log lines. The VC9 build of this tree crashes at the identical point, so this
is a defect (or asset/config mismatch) in the 2007 DPL→D3D9 port, not a
migration regression. The v143 build produces full PDBs — debug with
`cdb -g -G -lines -y Release rpl4opt.exe ...` from the working directory.
1. Install **Visual C++ 2008 Express SP1**. Also note: `Fail()` compiles to `abort()` in release (`MUNGA/DEBUGOFF.h`) —
2. Install the **DirectX SDK (June 2010)** and confirm `DXSDK_DIR` is set. e.g. running with `L4CONTROLS=KEYBOARD` alone aborts at VTV creation because
3. Open `WinTesla.sln`, pick `Release|Win32`, build. no keyboard-only pod mapper exists (the old CRT showed a blocking R6010
dialog; the UCRT fail-fasts). Use `L4CONTROLS=RIO;KEYBOARD` with vRIO serving
the RIO side, exactly like the arcade config.
> The Windows SDK **v6.0A** that ships with VS2008 already provides `WS2_32.lib` ## 5. Legacy VS2005/2008 build
> and `dbghelp.lib`, so a separate Windows SDK 7.1 install was **not** needed in
> the verified build. `dinput8.lib`/`dxguid.lib` come from the DirectX SDK.
--- The original `.vcproj` files and solution are kept as
[WinTesla_vc9.sln](WinTesla_vc9.sln) and still build with VC++ 2008 Express
## 7. Verified command-line build recipe SP1 + DXSDK June 2010:
This is exactly what produced the verified build. The key gotcha: a shell opened
*before* the DirectX SDK set the machine-level `DXSDK_DIR` will not see it, so the
recipe sets it explicitly.
```bat ```bat
@echo off @echo off
call "C:\Program Files (x86)\Microsoft Visual Studio 9.0\Common7\Tools\vsvars32.bat" call "C:\Program Files (x86)\Microsoft Visual Studio 9.0\Common7\Tools\vsvars32.bat"
set "DXSDK_DIR=C:\Program Files (x86)\Microsoft DirectX SDK (June 2010)\" set "DXSDK_DIR=C:\Program Files (x86)\Microsoft DirectX SDK (June 2010)\"
cd /d C:\VWE\RP411 vcbuild /nologo /rebuild WinTesla_vc9.sln "Release|Win32"
vcbuild /nologo /rebuild WinTesla.sln "Release|Win32"
``` ```
Expected result: `4 Projects succeeded, 0 Projects failed`. See [docs/BUILD-NOTES.md](docs/BUILD-NOTES.md) for the original repository
cleanup history and the findings behind the legacy build.
### DirectX SDK paths per project (all via `$(DXSDK_DIR)`)
For the build to find DirectX headers/libs, each project that touches DirectX
must reference the SDK through `$(DXSDK_DIR)`. This is now wired up as:
| Project | Include `$(DXSDK_DIR)Include` | Lib `$(DXSDK_DIR)Lib\x86` |
|---------|:---:|:---:|
| Munga_L4 | ✅ | ✅ |
| RP_L4 | ✅ | ✅ |
| RPL4TOOL | (not needed) | ✅ |
| DivLoader | ✅ | (static lib, no link) |
+76
View File
@@ -0,0 +1,76 @@
<?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>{2742FFCF-E94C-4202-BB0E-36D86CD04A09}</ProjectGuid>
<RootNamespace>DivLoader</RootNamespace>
</PropertyGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
<PropertyGroup Label="Configuration">
<ConfigurationType>StaticLibrary</ConfigurationType>
<PlatformToolset>v143</PlatformToolset>
<CharacterSet>MultiByte</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>
<IntDir>$(Configuration)\</IntDir>
<!-- Legacy DirectX SDK (June 2010) after the Windows SDK so modern headers win. -->
<IncludePath>$(IncludePath);$(DXSDK_DIR)Include</IncludePath>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)'=='Debug'">
<OutDir>$(SolutionDir)$(Configuration)\</OutDir>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)'=='Release'">
<OutDir>..\lib\</OutDir>
</PropertyGroup>
<ItemDefinitionGroup>
<ClCompile>
<WarningLevel>Level3</WarningLevel>
<ConformanceMode>false</ConformanceMode>
<PreprocessorDefinitions>_SILENCE_STDEXT_HASH_DEPRECATION_WARNINGS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
</ClCompile>
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Configuration)'=='Debug'">
<ClCompile>
<Optimization>Disabled</Optimization>
<BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>
<RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary>
<PreprocessorDefinitions>_DEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
</ClCompile>
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Configuration)'=='Release'">
<ClCompile>
<Optimization>MaxSpeed</Optimization>
<FunctionLevelLinking>true</FunctionLevelLinking>
<IntrinsicFunctions>true</IntrinsicFunctions>
<RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary>
<PreprocessorDefinitions>NDEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
</ClCompile>
</ItemDefinitionGroup>
<ItemGroup>
<ClCompile Include="VGCDivLoader.cpp" />
</ItemGroup>
<ItemGroup>
<ClInclude Include="tagIdents.h" />
<ClInclude Include="VGCDivLoader.h" />
</ItemGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
</Project>
+31
View File
@@ -0,0 +1,31 @@
<?xml version="1.0" encoding="utf-8"?>
<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<ItemGroup>
<Filter Include="Source Files">
<UniqueIdentifier>{01666d85-e4b8-44cc-8dba-ea91089074d3}</UniqueIdentifier>
<Extensions>cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx</Extensions>
</Filter>
<Filter Include="Header Files">
<UniqueIdentifier>{25175987-bb6c-4a8a-96b7-adffe3774b89}</UniqueIdentifier>
<Extensions>h;hpp;hxx;hm;inl;inc;xsd</Extensions>
</Filter>
<Filter Include="Resource Files">
<UniqueIdentifier>{1e17ee4e-39ab-4275-b821-517dbd9d8688}</UniqueIdentifier>
<Extensions>rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx;tiff;tif;png;wav</Extensions>
</Filter>
</ItemGroup>
<ItemGroup>
<ClCompile Include=".\VGCDivLoader.cpp">
<Filter>Source Files</Filter>
</ClCompile>
</ItemGroup>
<ItemGroup>
<ClInclude Include=".\tagIdents.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include=".\VGCDivLoader.h">
<Filter>Header Files</Filter>
</ClInclude>
</ItemGroup>
</Project>
+1 -1
View File
@@ -435,7 +435,7 @@ void
std::fstream cam_file; std::fstream cam_file;
//cam_file.open(cameraFilename, std::ios::nocreate | std::ios::in | std::ios::out); //cam_file.open(cameraFilename, std::ios::nocreate | std::ios::in | std::ios::out);
// following alternate line created by Ryan Bunker on 1/6/07 // following alternate line created by Ryan Bunker on 1/6/07
cam_file.open(cameraFilename, std::ios.in); cam_file.open(cameraFilename, std::ios::in);
if(cam_file) //NOTE: this appears broken (RB 1/6/07) if(cam_file) //NOTE: this appears broken (RB 1/6/07)
{ {
cam_file.close(); cam_file.close();
+1 -1
View File
@@ -273,7 +273,7 @@ public:
bool operator==(SOCKADDR_IN &address1, SOCKADDR_IN &address2) inline bool operator==(SOCKADDR_IN &address1, SOCKADDR_IN &address2)
{ {
return (address1.sin_family == address2.sin_family && return (address1.sin_family == address2.sin_family &&
address1.sin_addr.S_un.S_addr == address2.sin_addr.S_un.S_addr && address1.sin_addr.S_un.S_addr == address2.sin_addr.S_un.S_addr &&
+10
View File
@@ -52,9 +52,19 @@ public:
#endif #endif
Time() {} Time() {}
// Non-volatile overloads: rvalues (function returns) cannot bind to a
// volatile reference in standard C++; VC9 allowed it as an extension.
Time(const Time &t) : ticks(t.ticks) {}
Time(const volatile Time &t) : ticks(t.ticks) {} Time(const volatile Time &t) : ticks(t.ticks) {}
Time(SystemClock&) : ticks(0) {} Time(SystemClock&) : ticks(0) {}
Time& operator=(const Time &t)
{
Check_Pointer(this);
Check(&t);
ticks = t.ticks;
return *this;
}
Time& operator=(const volatile Time &t) Time& operator=(const volatile Time &t)
{ {
Check_Pointer(this); Check_Pointer(this);
+4 -4
View File
@@ -15,11 +15,11 @@ DIJoystick::DIJoystick(HINSTANCE hInstance, HWND hWnd)
if (SUCCEEDED(DirectInput8Create(hInstance, DIRECTINPUT_VERSION, IID_IDirectInput8, (void**)&mDI, NULL))) if (SUCCEEDED(DirectInput8Create(hInstance, DIRECTINPUT_VERSION, IID_IDirectInput8, (void**)&mDI, NULL)))
{ {
mDI->EnumDevices(DI8DEVCLASS_GAMECTRL, EnumJoysticksCallback, this, DIEDFL_ATTACHEDONLY); mDI->EnumDevices(DI8DEVCLASS_GAMECTRL, DIEnumJoysticksCallback, this, DIEDFL_ATTACHEDONLY);
if (mJoystick) if (mJoystick)
if (SUCCEEDED(mJoystick->SetDataFormat(&c_dfDIJoystick2))) if (SUCCEEDED(mJoystick->SetDataFormat(&c_dfDIJoystick2)))
if (SUCCEEDED(mJoystick->SetCooperativeLevel(hWnd, DISCL_EXCLUSIVE | DISCL_BACKGROUND))) if (SUCCEEDED(mJoystick->SetCooperativeLevel(hWnd, DISCL_EXCLUSIVE | DISCL_BACKGROUND)))
if (SUCCEEDED(mJoystick->EnumObjects(EnumAxesCallback, this, DIDFT_AXIS))) if (SUCCEEDED(mJoystick->EnumObjects(DIEnumAxesCallback, this, DIDFT_AXIS)))
return; return;
} }
@@ -51,7 +51,7 @@ DIJoystick::~DIJoystick()
} }
} }
BOOL CALLBACK EnumJoysticksCallback(const DIDEVICEINSTANCE* pdidInstance, VOID* pContext) BOOL CALLBACK DIEnumJoysticksCallback(const DIDEVICEINSTANCE* pdidInstance, VOID* pContext)
{ {
DIJoystick *joystick = (DIJoystick*)pContext; DIJoystick *joystick = (DIJoystick*)pContext;
if (FAILED(joystick->mDI->CreateDevice(pdidInstance->guidInstance, &joystick->mJoystick, NULL))) if (FAILED(joystick->mDI->CreateDevice(pdidInstance->guidInstance, &joystick->mJoystick, NULL)))
@@ -60,7 +60,7 @@ BOOL CALLBACK EnumJoysticksCallback(const DIDEVICEINSTANCE* pdidInstance, VOID*
return DIENUM_STOP; return DIENUM_STOP;
} }
BOOL CALLBACK EnumAxesCallback(LPCDIDEVICEOBJECTINSTANCE lpddoi, LPVOID pvRef) BOOL CALLBACK DIEnumAxesCallback(LPCDIDEVICEOBJECTINSTANCE lpddoi, LPVOID pvRef)
{ {
DIJoystick *joystick = (DIJoystick*)pvRef; DIJoystick *joystick = (DIJoystick*)pvRef;
DIPROPRANGE diprg; DIPROPRANGE diprg;
+2 -2
View File
@@ -4,8 +4,8 @@
class DIJoystick : public Joystick class DIJoystick : public Joystick
{ {
friend BOOL CALLBACK EnumJoysticksCallback(const DIDEVICEINSTANCE* pdidInstance, VOID* pContext); friend BOOL CALLBACK DIEnumJoysticksCallback(const DIDEVICEINSTANCE* pdidInstance, VOID* pContext);
friend BOOL CALLBACK EnumAxesCallback(LPCDIDEVICEOBJECTINSTANCE lpddoi, LPVOID pvRef); friend BOOL CALLBACK DIEnumAxesCallback(LPCDIDEVICEOBJECTINSTANCE lpddoi, LPVOID pvRef);
public: public:
DIJoystick(HINSTANCE hInstance, HWND hWnd); DIJoystick(HINSTANCE hInstance, HWND hWnd);
+457
View File
@@ -0,0 +1,457 @@
<?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>{F988B198-A386-40DD-A50E-9A5CE17A92A5}</ProjectGuid>
<RootNamespace>Munga_L4</RootNamespace>
</PropertyGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
<PropertyGroup Label="Configuration">
<ConfigurationType>StaticLibrary</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>..\lib\</OutDir>
<IntDir>$(Configuration)\</IntDir>
<TargetName>Munga_l4</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</IncludePath>
<LibraryPath>$(LibraryPath);$(DXSDK_DIR)Lib\x86</LibraryPath>
</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>
<!-- WINDOWS_IGNORE_PACKING_MISMATCH: the modern SDK asserts on /Zp1; the VC9
build always compiled Windows headers at /Zp1, so this keeps those semantics.
_SILENCE_STDEXT_HASH_DEPRECATION_WARNINGS: stdext::hash_map, pending
an unordered_map port. -->
<PreprocessorDefinitions>WIN32;_WINDOWS;_CRT_SECURE_NO_DEPRECATE;WINDOWS_IGNORE_PACKING_MISMATCH;_SILENCE_STDEXT_HASH_DEPRECATION_WARNINGS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<DisableSpecificWarnings>4996;4244;4267;4305;4018;4138;%(DisableSpecificWarnings)</DisableSpecificWarnings>
<DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
</ClCompile>
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Configuration)'=='Debug'">
<ClCompile>
<Optimization>Disabled</Optimization>
<BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>
<RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary>
<PreprocessorDefinitions>_DEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
</ClCompile>
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Configuration)'=='Release'">
<ClCompile>
<Optimization>MaxSpeed</Optimization>
<FunctionLevelLinking>true</FunctionLevelLinking>
<IntrinsicFunctions>true</IntrinsicFunctions>
<RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary>
<PreprocessorDefinitions>NDEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
</ClCompile>
</ItemDefinitionGroup>
<ItemGroup>
<ClCompile Include="..\MUNGA\AFFNMTRX.cpp" />
<ClCompile Include="..\MUNGA\ANGLE.cpp" />
<ClCompile Include="..\MUNGA\ANIMTOOL.cpp" />
<ClCompile Include="..\MUNGA\APP.cpp" />
<ClCompile Include="..\MUNGA\APPMGR.cpp" />
<ClCompile Include="..\MUNGA\APPMSG.cpp" />
<ClCompile Include="..\MUNGA\APPTASK.cpp" />
<ClCompile Include="..\MUNGA\AUDCMP.cpp" />
<ClCompile Include="..\MUNGA\AUDENT.cpp" />
<ClCompile Include="..\MUNGA\AUDIO.cpp" />
<ClCompile Include="..\MUNGA\AUDLOC.cpp" />
<ClCompile Include="..\MUNGA\AUDLVL.cpp" />
<ClCompile Include="..\MUNGA\AUDMIDI.cpp" />
<ClCompile Include="..\MUNGA\AUDREND.cpp" />
<ClCompile Include="..\MUNGA\AUDSEQ.cpp" />
<ClCompile Include="..\MUNGA\AUDSRC.cpp" />
<ClCompile Include="..\MUNGA\AUDTIME.cpp" />
<ClCompile Include="..\MUNGA\AUDTOOLS.cpp" />
<ClCompile Include="..\MUNGA\AUDWGT.cpp" />
<ClCompile Include="..\MUNGA\AUDWTHR.cpp" />
<ClCompile Include="..\MUNGA\AVERAGE.cpp" />
<ClCompile Include="..\MUNGA\BNDGBOX.cpp" />
<ClCompile Include="..\MUNGA\BOXCONE.cpp" />
<ClCompile Include="..\MUNGA\BOXDISKS.cpp" />
<ClCompile Include="..\MUNGA\BOXIRAMP.cpp" />
<ClCompile Include="..\MUNGA\BOXLIST.cpp" />
<ClCompile Include="..\MUNGA\BOXRAMP.cpp" />
<ClCompile Include="..\MUNGA\BOXSOLID.cpp" />
<ClCompile Include="..\MUNGA\BOXSORT.cpp" />
<ClCompile Include="..\MUNGA\BOXSPHR.cpp" />
<ClCompile Include="..\MUNGA\BOXTILE.cpp" />
<ClCompile Include="..\MUNGA\BOXTREE.cpp" />
<ClCompile Include="..\MUNGA\BOXWEDGE.cpp" />
<ClCompile Include="..\MUNGA\CAMINST.cpp" />
<ClCompile Include="..\MUNGA\CAMMGR.cpp" />
<ClCompile Include="..\MUNGA\CAMMPPR.cpp" />
<ClCompile Include="..\MUNGA\CAMSHIP.cpp" />
<ClCompile Include="..\MUNGA\CHAIN.cpp" />
<ClCompile Include="..\MUNGA\CMPNNT.cpp" />
<ClCompile Include="..\MUNGA\COLLASST.cpp" />
<ClCompile Include="..\MUNGA\COLLORGN.cpp" />
<ClCompile Include="..\MUNGA\COLOR.cpp" />
<ClCompile Include="..\MUNGA\CONSOLE.cpp" />
<ClCompile Include="..\MUNGA\CONTROLS.cpp" />
<ClCompile Include="..\MUNGA\CSTR.cpp" />
<ClCompile Include="..\MUNGA\CULTURAL.cpp" />
<ClCompile Include="..\MUNGA\DAMAGE.cpp" />
<ClCompile Include="..\MUNGA\DIRECTOR.cpp" />
<ClCompile Include="..\MUNGA\DOOR.cpp" />
<ClCompile Include="..\MUNGA\DOORFRAM.cpp" />
<ClCompile Include="..\MUNGA\DROPZONE.cpp" />
<ClCompile Include="..\MUNGA\ENTITY.cpp" />
<ClCompile Include="..\MUNGA\ENTITY2.cpp" />
<ClCompile Include="..\MUNGA\ENTITYID.cpp" />
<ClCompile Include="..\MUNGA\ENVIRNMT.cpp" />
<ClCompile Include="..\MUNGA\EVENT.cpp" />
<ClCompile Include="..\MUNGA\EVTSTAT.cpp" />
<ClCompile Include="..\MUNGA\EXPLODE.cpp" />
<ClCompile Include="..\MUNGA\EXPTBL.cpp" />
<ClCompile Include="..\MUNGA\EXTNTBOX.cpp" />
<ClCompile Include="..\MUNGA\EYECANDY.cpp" />
<ClCompile Include="..\MUNGA\FILESTRM.cpp" />
<ClCompile Include="..\MUNGA\FILESTUB.cpp" />
<ClCompile Include="..\MUNGA\FILEUTIL.cpp" />
<ClCompile Include="..\MUNGA\GAUGALRM.cpp" />
<ClCompile Include="..\MUNGA\GAUGE.cpp" />
<ClCompile Include="..\MUNGA\GAUGMAP.cpp" />
<ClCompile Include="..\MUNGA\GAUGREND.cpp" />
<ClCompile Include="..\MUNGA\GRAPH2D.cpp" />
<ClCompile Include="..\MUNGA\HASH.cpp" />
<ClCompile Include="..\MUNGA\HOST.cpp" />
<ClCompile Include="..\MUNGA\HOSTMGR.cpp" />
<ClCompile Include="..\MUNGA\ICOM.cpp" />
<ClCompile Include="..\MUNGA\INTEREST.cpp" />
<ClCompile Include="..\MUNGA\INTORGN.cpp" />
<ClCompile Include="..\MUNGA\ITERATOR.cpp" />
<ClCompile Include="..\MUNGA\JMOVER.cpp" />
<ClCompile Include="..\MUNGA\JOINT.cpp" />
<ClCompile Include="..\MUNGA\LAMP.cpp" />
<ClCompile Include="..\MUNGA\LATTICE.cpp" />
<ClCompile Include="..\MUNGA\LINE.cpp" />
<ClCompile Include="..\MUNGA\LINK.cpp" />
<ClCompile Include="..\MUNGA\LINMTRX.cpp" />
<ClCompile Include="..\MUNGA\MAPTOOL.cpp" />
<ClCompile Include="..\MUNGA\MATRIX.cpp" />
<ClCompile Include="..\MUNGA\MEMBLOCK.cpp" />
<ClCompile Include="..\MUNGA\MEMREG.cpp" />
<ClCompile Include="..\MUNGA\MEMSTRM.CPP" />
<ClCompile Include="..\MUNGA\MISSION.cpp" />
<ClCompile Include="..\MUNGA\MODE.cpp" />
<ClCompile Include="..\MUNGA\MODTOOL.cpp" />
<ClCompile Include="..\MUNGA\MOTION.cpp" />
<ClCompile Include="..\MUNGA\MOVER.cpp" />
<ClCompile Include="..\MUNGA\MTRXSTK.cpp" />
<ClCompile Include="..\MUNGA\NAMELIST.cpp" />
<ClCompile Include="..\MUNGA\NETWORK.cpp" />
<ClCompile Include="..\MUNGA\NODE.cpp" />
<ClCompile Include="..\MUNGA\NORMAL.cpp" />
<ClCompile Include="..\MUNGA\NOTATION.cpp" />
<ClCompile Include="..\MUNGA\NTTMGR.cpp" />
<ClCompile Include="..\MUNGA\OBJSTRM.cpp" />
<ClCompile Include="..\MUNGA\ORIGIN.cpp" />
<ClCompile Include="..\MUNGA\PLANE.cpp" />
<ClCompile Include="..\MUNGA\PLAYER.cpp" />
<ClCompile Include="..\MUNGA\PLUG.cpp" />
<ClCompile Include="..\MUNGA\POINT3D.cpp" />
<ClCompile Include="..\MUNGA\RANDOM.cpp" />
<ClCompile Include="..\MUNGA\RAY.cpp" />
<ClCompile Include="..\MUNGA\RECEIVER.cpp" />
<ClCompile Include="..\MUNGA\RECT2D.cpp" />
<ClCompile Include="..\MUNGA\REGISTRY.cpp" />
<ClCompile Include="..\MUNGA\RENDERER.cpp" />
<ClCompile Include="..\MUNGA\RESOURCE.cpp" />
<ClCompile Include="..\MUNGA\RETICLE.cpp" />
<ClCompile Include="..\MUNGA\RNDORGN.cpp" />
<ClCompile Include="..\MUNGA\ROTATION.cpp" />
<ClCompile Include="..\MUNGA\SCALAR.cpp" />
<ClCompile Include="..\MUNGA\SCHAIN.cpp" />
<ClCompile Include="..\MUNGA\SCNROLE.cpp" />
<ClCompile Include="..\MUNGA\SEGMENT.cpp" />
<ClCompile Include="..\MUNGA\SET.cpp" />
<ClCompile Include="..\MUNGA\SFESKT.cpp" />
<ClCompile Include="..\MUNGA\SIMULATE.cpp" />
<ClCompile Include="..\MUNGA\SLOT.cpp" />
<ClCompile Include="..\MUNGA\SOCKET.cpp" />
<ClCompile Include="..\MUNGA\SPHERE.cpp" />
<ClCompile Include="..\MUNGA\SPLINE.cpp" />
<ClCompile Include="..\MUNGA\SPOOLER.cpp" />
<ClCompile Include="..\MUNGA\SRTSKT.cpp" />
<ClCompile Include="..\MUNGA\SUBSYSTM.cpp" />
<ClCompile Include="..\MUNGA\TABLE.cpp" />
<ClCompile Include="..\MUNGA\TEAM.cpp" />
<ClCompile Include="..\MUNGA\TERRAIN.cpp" />
<ClCompile Include="..\MUNGA\TESTALL.cpp" />
<ClCompile Include="..\MUNGA\TIME.cpp" />
<ClCompile Include="..\MUNGA\TIMESTUB.cpp" />
<ClCompile Include="..\MUNGA\TOOL.cpp" />
<ClCompile Include="..\MUNGA\TRACE.cpp" />
<ClCompile Include="..\MUNGA\TRACSTUB.cpp" />
<ClCompile Include="..\MUNGA\TREE.cpp" />
<ClCompile Include="..\MUNGA\UNITVEC.cpp" />
<ClCompile Include="..\MUNGA\UPDATE.cpp" />
<ClCompile Include="..\MUNGA\VCHAIN.cpp" />
<ClCompile Include="..\MUNGA\VDATA.cpp" />
<ClCompile Include="..\MUNGA\VECTOR3D.cpp" />
<ClCompile Include="..\MUNGA\VECTOR4D.cpp" />
<ClCompile Include="..\MUNGA\VERIFY.cpp" />
<ClCompile Include="..\MUNGA\VIDREND.cpp" />
<ClCompile Include="..\MUNGA\WATCHER.cpp" />
<ClCompile Include="..\MUNGA\WRHOUS.cpp" />
<ClCompile Include=".\DXUtils.cpp" />
<ClCompile Include=".\L4APP.cpp" />
<ClCompile Include=".\L4AUDHDW.cpp" />
<ClCompile Include=".\L4AUDIO.cpp" />
<ClCompile Include=".\L4AUDLVL.cpp" />
<ClCompile Include=".\L4AUDRES.cpp" />
<ClCompile Include=".\L4AUDRND.cpp" />
<ClCompile Include=".\L4AUDTUL.cpp" />
<ClCompile Include=".\L4AUDWTR.cpp" />
<ClCompile Include=".\L4CTLTUL.cpp" />
<ClCompile Include=".\L4CTRL.cpp" />
<ClCompile Include=".\L4D3D.cpp" />
<ClCompile Include=".\L4DINPUT.cpp" />
<ClCompile Include=".\L4DPLMEM.cpp" />
<ClCompile Include=".\L4GAUGE.cpp" />
<ClCompile Include=".\L4GAUIMA.cpp" />
<ClCompile Include=".\L4GAUTUL.cpp" />
<ClCompile Include=".\L4GREND.cpp" />
<ClCompile Include=".\L4HOST.cpp" />
<ClCompile Include=".\L4ICOM.cpp" />
<ClCompile Include=".\L4KEYBD.cpp" />
<ClCompile Include=".\L4LAMP.cpp" />
<ClCompile Include=".\L4MOUSE.cpp" />
<ClCompile Include=".\L4MPPR.cpp" />
<ClCompile Include=".\L4NET.CPP" />
<ClCompile Include=".\L4PARTICLES.cpp" />
<ClCompile Include=".\L4PCSPAK.cpp" />
<ClCompile Include=".\L4PLASMA.cpp" />
<ClCompile Include=".\L4RIO.cpp" />
<ClCompile Include=".\L4SERIAL.cpp" />
<ClCompile Include=".\L4SPLR.cpp" />
<ClCompile Include=".\L4TIME.cpp" />
<ClCompile Include=".\L4TRACE.cpp" />
<ClCompile Include=".\L4TSTALL.cpp" />
<ClCompile Include=".\L4VB16.cpp" />
<ClCompile Include=".\L4VB8.cpp" />
<ClCompile Include=".\L4VIDEO.cpp" />
<ClCompile Include=".\L4VIDPER.cpp" />
<ClCompile Include=".\L4VIDRND.cpp" />
<ClCompile Include=".\L4VIDTUL.cpp" />
<ClCompile Include=".\L4WRHOUS.cpp" />
<ClCompile Include=".\temp.cpp" />
<ClCompile Include=".\WTPresets.cpp" />
</ItemGroup>
<ItemGroup>
<ClInclude Include="..\MUNGA\AFFNMTRX.h" />
<ClInclude Include="..\MUNGA\ANGLE.h" />
<ClInclude Include="..\MUNGA\APP.h" />
<ClInclude Include="..\MUNGA\APPMGR.h" />
<ClInclude Include="..\MUNGA\APPMSG.h" />
<ClInclude Include="..\MUNGA\APPTASK.h" />
<ClInclude Include="..\MUNGA\AUDCMP.h" />
<ClInclude Include="..\MUNGA\AUDENT.h" />
<ClInclude Include="..\MUNGA\AUDIO.h" />
<ClInclude Include="..\MUNGA\AUDLOC.h" />
<ClInclude Include="..\MUNGA\AUDLVL.h" />
<ClInclude Include="..\MUNGA\AUDMIDI.h" />
<ClInclude Include="..\MUNGA\AUDREND.h" />
<ClInclude Include="..\MUNGA\AUDSEQ.h" />
<ClInclude Include="..\MUNGA\AUDSRC.h" />
<ClInclude Include="..\MUNGA\AUDTIME.h" />
<ClInclude Include="..\MUNGA\AUDTOOLS.h" />
<ClInclude Include="..\MUNGA\AUDWGT.h" />
<ClInclude Include="..\MUNGA\AUDWTHR.h" />
<ClInclude Include="..\MUNGA\AVERAGE.h" />
<ClInclude Include="..\MUNGA\BNDGBOX.h" />
<ClInclude Include="..\MUNGA\BOXLIST.h" />
<ClInclude Include="..\MUNGA\BOXSOLID.h" />
<ClInclude Include="..\MUNGA\BOXTREE.h" />
<ClInclude Include="..\MUNGA\CAMINST.h" />
<ClInclude Include="..\MUNGA\CAMMGR.h" />
<ClInclude Include="..\MUNGA\CAMMPPR.h" />
<ClInclude Include="..\MUNGA\CAMSHIP.h" />
<ClInclude Include="..\MUNGA\CHAIN.h" />
<ClInclude Include="..\MUNGA\CMPNNT.h" />
<ClInclude Include="..\MUNGA\COLLASST.h" />
<ClInclude Include="..\MUNGA\COLLORGN.h" />
<ClInclude Include="..\MUNGA\COLOR.h" />
<ClInclude Include="..\MUNGA\CONFIG.h" />
<ClInclude Include="..\MUNGA\CONSOLE.h" />
<ClInclude Include="..\MUNGA\CONTROLS.h" />
<ClInclude Include="..\MUNGA\CSTR.h" />
<ClInclude Include="..\MUNGA\cultural.h" />
<ClInclude Include="..\MUNGA\DAMAGE.h" />
<ClInclude Include="..\MUNGA\DEBUG1ON.h" />
<ClInclude Include="..\MUNGA\DEBUGOFF.h" />
<ClInclude Include="..\MUNGA\DIRECTOR.h" />
<ClInclude Include="..\MUNGA\DOOR.h" />
<ClInclude Include="..\MUNGA\DOORFRAM.h" />
<ClInclude Include="..\MUNGA\DROPZONE.h" />
<ClInclude Include="..\MUNGA\ENTITY.h" />
<ClInclude Include="..\MUNGA\ENTITY2.h" />
<ClInclude Include="..\MUNGA\ENTITY3.h" />
<ClInclude Include="..\MUNGA\ENTITYID.h" />
<ClInclude Include="..\MUNGA\ENVIRNMT.h" />
<ClInclude Include="..\MUNGA\EVENT.h" />
<ClInclude Include="..\MUNGA\EVTSTAT.h" />
<ClInclude Include="..\MUNGA\EXPLODE.h" />
<ClInclude Include="..\MUNGA\EXPTBL.h" />
<ClInclude Include="..\MUNGA\EXTNTBOX.h" />
<ClInclude Include="..\MUNGA\EYECANDY.h" />
<ClInclude Include="..\MUNGA\FILESTRM.h" />
<ClInclude Include="..\MUNGA\FILEUTIL.h" />
<ClInclude Include="..\MUNGA\GAUGALRM.h" />
<ClInclude Include="..\MUNGA\GAUGE.h" />
<ClInclude Include="..\MUNGA\GAUGMAP.h" />
<ClInclude Include="..\MUNGA\GAUGREND.h" />
<ClInclude Include="..\MUNGA\GRAPH2D.h" />
<ClInclude Include="..\MUNGA\HASH.h" />
<ClInclude Include="..\MUNGA\HOST.h" />
<ClInclude Include="..\MUNGA\HOSTID.h" />
<ClInclude Include="..\MUNGA\HOSTMGR.h" />
<ClInclude Include="..\MUNGA\ICOM.h" />
<ClInclude Include="..\MUNGA\INTEREST.h" />
<ClInclude Include="..\MUNGA\INTORGN.h" />
<ClInclude Include="..\MUNGA\ITERATOR.h" />
<ClInclude Include="..\MUNGA\JMOVER.h" />
<ClInclude Include="..\MUNGA\JOINT.h" />
<ClInclude Include="..\MUNGA\LAMP.h" />
<ClInclude Include="..\MUNGA\LATTICE.h" />
<ClInclude Include="..\MUNGA\LINE.h" />
<ClInclude Include="..\MUNGA\LINK.h" />
<ClInclude Include="..\MUNGA\LINMTRX.h" />
<ClInclude Include="..\MUNGA\MATRIX.h" />
<ClInclude Include="..\MUNGA\MEMBLOCK.h" />
<ClInclude Include="..\MUNGA\MEMREG.h" />
<ClInclude Include="..\MUNGA\MEMSTRM.H" />
<ClInclude Include="..\MUNGA\MISSION.h" />
<ClInclude Include="..\MUNGA\MODE.h" />
<ClInclude Include="..\MUNGA\MOTION.h" />
<ClInclude Include="..\MUNGA\MOVER.h" />
<ClInclude Include="..\MUNGA\MTRXSTK.h" />
<ClInclude Include="..\MUNGA\MUNGA.h" />
<ClInclude Include="..\MUNGA\NAMELIST.h" />
<ClInclude Include="..\MUNGA\NETWORK.h" />
<ClInclude Include="..\MUNGA\NODE.h" />
<ClInclude Include="..\MUNGA\NORMAL.h" />
<ClInclude Include="..\MUNGA\NOTATION.h" />
<ClInclude Include="..\MUNGA\NTTMGR.h" />
<ClInclude Include="..\MUNGA\OBJSTRM.h" />
<ClInclude Include="..\MUNGA\ORIGIN.h" />
<ClInclude Include="..\MUNGA\PLANE.h" />
<ClInclude Include="..\MUNGA\PLAYER.h" />
<ClInclude Include="..\MUNGA\PLUG.h" />
<ClInclude Include="..\MUNGA\POINT3D.h" />
<ClInclude Include="..\MUNGA\RANDOM.h" />
<ClInclude Include="..\MUNGA\RAY.h" />
<ClInclude Include="..\MUNGA\RECEIVER.h" />
<ClInclude Include="..\MUNGA\RECT2D.h" />
<ClInclude Include="..\MUNGA\REGISTRY.h" />
<ClInclude Include="..\MUNGA\RENDERER.h" />
<ClInclude Include="..\MUNGA\RESOURCE.h" />
<ClInclude Include="..\MUNGA\RESVER.h" />
<ClInclude Include="..\MUNGA\RETICLE.h" />
<ClInclude Include="..\MUNGA\RNDORGN.h" />
<ClInclude Include="..\MUNGA\ROTATION.h" />
<ClInclude Include="..\MUNGA\SCALAR.h" />
<ClInclude Include="..\MUNGA\SCHAIN.h" />
<ClInclude Include="..\MUNGA\SCNROLE.h" />
<ClInclude Include="..\MUNGA\SEGMENT.h" />
<ClInclude Include="..\MUNGA\SET.h" />
<ClInclude Include="..\MUNGA\SFESKT.h" />
<ClInclude Include="..\MUNGA\SIMULATE.h" />
<ClInclude Include="..\MUNGA\SLOT.h" />
<ClInclude Include="..\MUNGA\SOCKET.h" />
<ClInclude Include="..\MUNGA\SPHERE.h" />
<ClInclude Include="..\MUNGA\SPLINE.h" />
<ClInclude Include="..\MUNGA\SPOOLER.h" />
<ClInclude Include="..\MUNGA\SRTSKT.h" />
<ClInclude Include="..\MUNGA\STATE.h" />
<ClInclude Include="..\MUNGA\STYLE.H" />
<ClInclude Include="..\MUNGA\SUBSYSTM.h" />
<ClInclude Include="..\MUNGA\TABLE.h" />
<ClInclude Include="..\MUNGA\TEAM.h" />
<ClInclude Include="..\MUNGA\TERRAIN.h" />
<ClInclude Include="..\MUNGA\TIME.h" />
<ClInclude Include="..\MUNGA\TOOL.h" />
<ClInclude Include="..\MUNGA\TRACE.h" />
<ClInclude Include="..\MUNGA\TREE.h" />
<ClInclude Include="..\MUNGA\UNITVEC.h" />
<ClInclude Include="..\MUNGA\UPDATE.h" />
<ClInclude Include="..\MUNGA\VCHAIN.h" />
<ClInclude Include="..\MUNGA\VDATA.h" />
<ClInclude Include="..\MUNGA\VECTOR2D.h" />
<ClInclude Include="..\MUNGA\VECTOR3D.h" />
<ClInclude Include="..\MUNGA\VECTOR4D.h" />
<ClInclude Include="..\MUNGA\VERIFY.h" />
<ClInclude Include="..\MUNGA\VIDREND.h" />
<ClInclude Include="..\MUNGA\WATCHER.h" />
<ClInclude Include="..\MUNGA\WRHOUS.h" />
<ClInclude Include=".\DXUtils.h" />
<ClInclude Include=".\L4APP.H" />
<ClInclude Include=".\L4AUDHDW.h" />
<ClInclude Include=".\L4AUDIO.h" />
<ClInclude Include=".\L4AUDLVL.h" />
<ClInclude Include=".\L4AUDRES.h" />
<ClInclude Include=".\L4AUDRND.h" />
<ClInclude Include=".\L4AUDWTR.h" />
<ClInclude Include=".\L4CTRL.h" />
<ClInclude Include=".\L4D3D.h" />
<ClInclude Include=".\L4DINPUT.h" />
<ClInclude Include=".\L4GAUGE.h" />
<ClInclude Include=".\L4GAUIMA.h" />
<ClInclude Include=".\L4GREND.h" />
<ClInclude Include=".\L4HOST.H" />
<ClInclude Include=".\L4ICOM.h" />
<ClInclude Include=".\L4JOYSTK.h" />
<ClInclude Include=".\L4KEYBD.h" />
<ClInclude Include=".\L4LAMP.h" />
<ClInclude Include=".\L4MOUSE.h" />
<ClInclude Include=".\L4MPPR.h" />
<ClInclude Include=".\L4NET.H" />
<ClInclude Include=".\L4PARTICLES.h" />
<ClInclude Include=".\L4PCSPAK.h" />
<ClInclude Include=".\L4PLASMA.h" />
<ClInclude Include=".\L4RIO.h" />
<ClInclude Include=".\L4SERIAL.H" />
<ClInclude Include=".\L4SPLR.h" />
<ClInclude Include=".\L4TIME.h" />
<ClInclude Include=".\L4TOOL.h" />
<ClInclude Include=".\L4VB16.h" />
<ClInclude Include=".\L4VB8.h" />
<ClInclude Include=".\L4VIDEO.h" />
<ClInclude Include=".\L4VIDPER.h" />
<ClInclude Include=".\L4VIDRND.h" />
<ClInclude Include=".\L4WRHOUS.h" />
<ClInclude Include=".\MUNGAL4.H" />
<ClInclude Include=".\sndfile.h" />
</ItemGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
</Project>
File diff suppressed because it is too large Load Diff
+131
View File
@@ -0,0 +1,131 @@
<?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>
+94
View File
@@ -0,0 +1,94 @@
<?xml version="1.0" encoding="utf-8"?>
<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<ItemGroup>
<Filter Include="Source Files">
<UniqueIdentifier>{884b40a9-322f-4f69-acfc-89b9bba35c9e}</UniqueIdentifier>
<Extensions>cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx</Extensions>
</Filter>
<Filter Include="Header Files">
<UniqueIdentifier>{ebc4ce12-d5e9-428d-9b96-2cf49783b9f4}</UniqueIdentifier>
<Extensions>h;hpp;hxx;hm;inl;inc;xsd</Extensions>
</Filter>
<Filter Include="Resource Files">
<UniqueIdentifier>{611db686-bea3-41a1-95cd-f4b84b957391}</UniqueIdentifier>
<Extensions>rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx;tiff;tif;png;wav</Extensions>
</Filter>
</ItemGroup>
<ItemGroup>
<ClCompile Include="..\RP\BLOCKER.cpp">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="..\RP\BOOSTER.cpp">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="..\RP\CHUTE.cpp">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="..\RP\CRUSHER.cpp">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="..\RP\DEMOPACK.cpp">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="..\RP\RIVET.cpp">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="..\RP\RPCNSL.cpp">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="..\RP\RPDIRECT.cpp">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include=".\RPL4MODE.cpp">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include=".\RPL4TOOL.cpp">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="..\RP\RPMSSN.cpp">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="..\RP\RPPLAYER.cpp">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="..\RP\RPREG.cpp">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="..\RP\RPTOOL.cpp">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="..\RP\RUNNER.cpp">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="..\RP\SCORZONE.cpp">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="..\RP\THRUSTER.cpp">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="..\RP\VTV.cpp">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="..\RP\VTVMPPR.cpp">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="..\RP\VTVPWR.cpp">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="..\RP\VTVSUB.cpp">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="..\RP\WEAPSYS.cpp">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include=".\WTPresets.cpp">
<Filter>Source Files</Filter>
</ClCompile>
</ItemGroup>
<ItemGroup>
<ClInclude Include="..\RP\RPTOOL.h">
<Filter>Header Files</Filter>
</ClInclude>
</ItemGroup>
</Project>
+178
View File
@@ -0,0 +1,178 @@
<?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</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>
<FavorSizeOrSpeed>Speed</FavorSizeOrSpeed>
<!-- The engine's on-disk and on-wire binary formats assume 1-byte packing. -->
<StructMemberAlignment>1Byte</StructMemberAlignment>
<PreprocessorDefinitions>WIN32;_WINDOWS;_CRT_SECURE_NO_DEPRECATE;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>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;%(AdditionalDependencies)</AdditionalDependencies>
<RandomizedBaseAddress>false</RandomizedBaseAddress>
<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>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=".\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=".\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=".\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>
+232
View File
@@ -0,0 +1,232 @@
<?xml version="1.0" encoding="utf-8"?>
<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<ItemGroup>
<Filter Include="Source Files">
<UniqueIdentifier>{eb252f95-7391-44b0-afa4-1907cd6aa87e}</UniqueIdentifier>
<Extensions>cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx Filter Filter</Extensions>
</Filter>
<Filter Include="Source Files\RP_L4">
<UniqueIdentifier>{3a538533-0f36-43bb-8f93-a858866195ac}</UniqueIdentifier>
</Filter>
<Filter Include="Source Files\RP">
<UniqueIdentifier>{ae7cddc3-1057-4141-8f15-0ae8592c6b04}</UniqueIdentifier>
</Filter>
<Filter Include="Header Files">
<UniqueIdentifier>{d8abfe6a-b377-46ad-8271-c1f2e735ee8b}</UniqueIdentifier>
<Extensions>h;hpp;hxx;hm;inl;inc;xsd Filter Filter</Extensions>
</Filter>
<Filter Include="Header Files\RP_L4">
<UniqueIdentifier>{dc73d687-7306-4609-b6b1-f5319b320cb0}</UniqueIdentifier>
</Filter>
<Filter Include="Header Files\RP">
<UniqueIdentifier>{8729fb50-8620-4018-b528-9c8cf73f93ea}</UniqueIdentifier>
</Filter>
<Filter Include="Resource Files">
<UniqueIdentifier>{1753b3fd-49fb-4829-b620-9f9fca843fb9}</UniqueIdentifier>
<Extensions>rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx;tiff;tif;png;wav</Extensions>
</Filter>
</ItemGroup>
<ItemGroup>
<ClCompile Include=".\RPL4.CPP">
<Filter>Source Files\RP_L4</Filter>
</ClCompile>
<ClCompile Include=".\RPL4APP.cpp">
<Filter>Source Files\RP_L4</Filter>
</ClCompile>
<ClCompile Include=".\RPL4ARND.cpp">
<Filter>Source Files\RP_L4</Filter>
</ClCompile>
<ClCompile Include=".\RPL4GAUG.cpp">
<Filter>Source Files\RP_L4</Filter>
</ClCompile>
<ClCompile Include=".\RPL4GRND.cpp">
<Filter>Source Files\RP_L4</Filter>
</ClCompile>
<ClCompile Include=".\RPL4MODE.cpp">
<Filter>Source Files\RP_L4</Filter>
</ClCompile>
<ClCompile Include=".\RPL4MPPR.cpp">
<Filter>Source Files\RP_L4</Filter>
</ClCompile>
<ClCompile Include=".\RPL4MSSN.cpp">
<Filter>Source Files\RP_L4</Filter>
</ClCompile>
<ClCompile Include=".\RPL4PB.cpp">
<Filter>Source Files\RP_L4</Filter>
</ClCompile>
<ClCompile Include=".\RPL4TOOL.cpp">
<Filter>Source Files\RP_L4</Filter>
</ClCompile>
<ClCompile Include=".\RPL4VID.cpp">
<Filter>Source Files\RP_L4</Filter>
</ClCompile>
<ClCompile Include=".\WTPresets.cpp">
<Filter>Source Files\RP_L4</Filter>
</ClCompile>
<ClCompile Include="..\RP\BLOCKER.cpp">
<Filter>Source Files\RP</Filter>
</ClCompile>
<ClCompile Include="..\RP\BOOSTER.cpp">
<Filter>Source Files\RP</Filter>
</ClCompile>
<ClCompile Include="..\RP\CHUTE.cpp">
<Filter>Source Files\RP</Filter>
</ClCompile>
<ClCompile Include="..\RP\CRUSHER.cpp">
<Filter>Source Files\RP</Filter>
</ClCompile>
<ClCompile Include="..\RP\DEMOPACK.cpp">
<Filter>Source Files\RP</Filter>
</ClCompile>
<ClCompile Include="..\RP\RIVET.cpp">
<Filter>Source Files\RP</Filter>
</ClCompile>
<ClCompile Include="..\RP\RPCNSL.cpp">
<Filter>Source Files\RP</Filter>
</ClCompile>
<ClCompile Include="..\RP\RPDIRECT.cpp">
<Filter>Source Files\RP</Filter>
</ClCompile>
<ClCompile Include="..\RP\RPMSSN.cpp">
<Filter>Source Files\RP</Filter>
</ClCompile>
<ClCompile Include="..\RP\RPPLAYER.cpp">
<Filter>Source Files\RP</Filter>
</ClCompile>
<ClCompile Include="..\RP\RPREG.cpp">
<Filter>Source Files\RP</Filter>
</ClCompile>
<ClCompile Include="..\RP\RPTOOL.cpp">
<Filter>Source Files\RP</Filter>
</ClCompile>
<ClCompile Include="..\RP\RUNNER.cpp">
<Filter>Source Files\RP</Filter>
</ClCompile>
<ClCompile Include="..\RP\SCORZONE.cpp">
<Filter>Source Files\RP</Filter>
</ClCompile>
<ClCompile Include="..\RP\THRUSTER.cpp">
<Filter>Source Files\RP</Filter>
</ClCompile>
<ClCompile Include="..\RP\VTV.cpp">
<Filter>Source Files\RP</Filter>
</ClCompile>
<ClCompile Include="..\RP\VTVMPPR.cpp">
<Filter>Source Files\RP</Filter>
</ClCompile>
<ClCompile Include="..\RP\VTVPWR.cpp">
<Filter>Source Files\RP</Filter>
</ClCompile>
<ClCompile Include="..\RP\VTVSUB.cpp">
<Filter>Source Files\RP</Filter>
</ClCompile>
<ClCompile Include="..\RP\WEAPSYS.cpp">
<Filter>Source Files\RP</Filter>
</ClCompile>
</ItemGroup>
<ItemGroup>
<ClInclude Include=".\RPL4.h">
<Filter>Header Files\RP_L4</Filter>
</ClInclude>
<ClInclude Include=".\RPL4.HPP">
<Filter>Header Files\RP_L4</Filter>
</ClInclude>
<ClInclude Include=".\RPL4APP.h">
<Filter>Header Files\RP_L4</Filter>
</ClInclude>
<ClInclude Include=".\RPL4ARND.h">
<Filter>Header Files\RP_L4</Filter>
</ClInclude>
<ClInclude Include=".\RPL4GAUG.h">
<Filter>Header Files\RP_L4</Filter>
</ClInclude>
<ClInclude Include=".\RPL4GRND.h">
<Filter>Header Files\RP_L4</Filter>
</ClInclude>
<ClInclude Include=".\RPL4MODE.h">
<Filter>Header Files\RP_L4</Filter>
</ClInclude>
<ClInclude Include=".\RPL4MPPR.h">
<Filter>Header Files\RP_L4</Filter>
</ClInclude>
<ClInclude Include=".\RPL4MSSN.h">
<Filter>Header Files\RP_L4</Filter>
</ClInclude>
<ClInclude Include=".\RPL4PB.h">
<Filter>Header Files\RP_L4</Filter>
</ClInclude>
<ClInclude Include=".\RPL4VER.h">
<Filter>Header Files\RP_L4</Filter>
</ClInclude>
<ClInclude Include=".\RPL4VID.h">
<Filter>Header Files\RP_L4</Filter>
</ClInclude>
<ClInclude Include=".\WTPresets.h">
<Filter>Header Files\RP_L4</Filter>
</ClInclude>
<ClInclude Include="..\RP\BLOCKER.h">
<Filter>Header Files\RP</Filter>
</ClInclude>
<ClInclude Include="..\RP\BOOSTER.h">
<Filter>Header Files\RP</Filter>
</ClInclude>
<ClInclude Include="..\RP\CHUTE.h">
<Filter>Header Files\RP</Filter>
</ClInclude>
<ClInclude Include="..\RP\CRUSHER.h">
<Filter>Header Files\RP</Filter>
</ClInclude>
<ClInclude Include="..\RP\DEMOPACK.h">
<Filter>Header Files\RP</Filter>
</ClInclude>
<ClInclude Include="..\RP\RIVET.h">
<Filter>Header Files\RP</Filter>
</ClInclude>
<ClInclude Include="..\RP\RP.h">
<Filter>Header Files\RP</Filter>
</ClInclude>
<ClInclude Include="..\RP\RPCNSL.h">
<Filter>Header Files\RP</Filter>
</ClInclude>
<ClInclude Include="..\RP\RPDIRECT.h">
<Filter>Header Files\RP</Filter>
</ClInclude>
<ClInclude Include="..\RP\RPMSSN.h">
<Filter>Header Files\RP</Filter>
</ClInclude>
<ClInclude Include="..\RP\RPPLAYER.h">
<Filter>Header Files\RP</Filter>
</ClInclude>
<ClInclude Include="..\RP\RPREG.h">
<Filter>Header Files\RP</Filter>
</ClInclude>
<ClInclude Include="..\RP\RPTOOL.h">
<Filter>Header Files\RP</Filter>
</ClInclude>
<ClInclude Include="..\RP\RUNNER.h">
<Filter>Header Files\RP</Filter>
</ClInclude>
<ClInclude Include="..\RP\SCORZONE.h">
<Filter>Header Files\RP</Filter>
</ClInclude>
<ClInclude Include="..\RP\THRUSTER.h">
<Filter>Header Files\RP</Filter>
</ClInclude>
<ClInclude Include="..\RP\VTV.h">
<Filter>Header Files\RP</Filter>
</ClInclude>
<ClInclude Include="..\RP\VTVMPPR.h">
<Filter>Header Files\RP</Filter>
</ClInclude>
<ClInclude Include="..\RP\VTVPWR.h">
<Filter>Header Files\RP</Filter>
</ClInclude>
<ClInclude Include="..\RP\VTVSUB.h">
<Filter>Header Files\RP</Filter>
</ClInclude>
<ClInclude Include="..\RP\WEAPSYS.h">
<Filter>Header Files\RP</Filter>
</ClInclude>
</ItemGroup>
</Project>
+16 -44
View File
@@ -1,65 +1,37 @@
Microsoft Visual Studio Solution File, Format Version 9.00 Microsoft Visual Studio Solution File, Format Version 12.00
# Visual Studio 2005 # Visual Studio Version 17
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "RP_L4", "RP_L4\RP_L4.vcproj", "{01B740F7-5D4E-4E42-893F-CE018E5EE785}" VisualStudioVersion = 17.0.31903.59
ProjectSection(WebsiteProperties) = preProject MinimumVisualStudioVersion = 10.0.40219.1
Debug.AspNetCompiler.Debug = "True" Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "Munga_L4", "MUNGA_L4\Munga_L4.vcxproj", "{F988B198-A386-40DD-A50E-9A5CE17A92A5}"
Release.AspNetCompiler.Debug = "False"
EndProjectSection
ProjectSection(ProjectDependencies) = postProject
{F988B198-A386-40DD-A50E-9A5CE17A92A5} = {F988B198-A386-40DD-A50E-9A5CE17A92A5}
EndProjectSection
EndProject EndProject
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "Munga_L4", "MUNGA_L4\Munga_L4.vcproj", "{F988B198-A386-40DD-A50E-9A5CE17A92A5}" Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "RP_L4", "RP_L4\RP_L4.vcxproj", "{01B740F7-5D4E-4E42-893F-CE018E5EE785}"
ProjectSection(WebsiteProperties) = preProject
Debug.AspNetCompiler.Debug = "True"
Release.AspNetCompiler.Debug = "False"
EndProjectSection
EndProject EndProject
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "RPL4TOOL", "RP_L4\RPL4TOOL.vcproj", "{11BDE691-E0D7-443E-A5AF-87B35B8EEAEE}" Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "RPL4TOOL", "RP_L4\RPL4TOOL.vcxproj", "{4A7C7DFD-1383-4C1A-926C-B70F654429A9}"
ProjectSection(WebsiteProperties) = preProject
Debug.AspNetCompiler.Debug = "True"
Release.AspNetCompiler.Debug = "False"
EndProjectSection
ProjectSection(ProjectDependencies) = postProject
{F988B198-A386-40DD-A50E-9A5CE17A92A5} = {F988B198-A386-40DD-A50E-9A5CE17A92A5}
EndProjectSection
EndProject EndProject
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "DivLoader", "DivLoader\DivLoader.vcproj", "{2742FFCF-E94C-4202-BB0E-36D86CD04A09}" Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "DivLoader", "DivLoader\DivLoader.vcxproj", "{2742FFCF-E94C-4202-BB0E-36D86CD04A09}"
ProjectSection(WebsiteProperties) = preProject
Debug.AspNetCompiler.Debug = "True"
Release.AspNetCompiler.Debug = "False"
EndProjectSection
EndProject EndProject
Global Global
GlobalSection(SolutionConfigurationPlatforms) = preSolution GlobalSection(SolutionConfigurationPlatforms) = preSolution
Debug|Win32 = Debug|Win32 Debug|Win32 = Debug|Win32
Release|Win32 = Release|Win32 Release|Win32 = Release|Win32
Remote Debug|Win32 = Remote Debug|Win32
EndGlobalSection EndGlobalSection
GlobalSection(ProjectConfigurationPlatforms) = postSolution GlobalSection(ProjectConfigurationPlatforms) = postSolution
{01B740F7-5D4E-4E42-893F-CE018E5EE785}.Debug|Win32.ActiveCfg = Debug|Win32
{01B740F7-5D4E-4E42-893F-CE018E5EE785}.Debug|Win32.Build.0 = Debug|Win32
{01B740F7-5D4E-4E42-893F-CE018E5EE785}.Release|Win32.ActiveCfg = Release|Win32
{01B740F7-5D4E-4E42-893F-CE018E5EE785}.Release|Win32.Build.0 = Release|Win32
{01B740F7-5D4E-4E42-893F-CE018E5EE785}.Remote Debug|Win32.ActiveCfg = Remote Debug|Win32
{01B740F7-5D4E-4E42-893F-CE018E5EE785}.Remote Debug|Win32.Build.0 = Remote Debug|Win32
{F988B198-A386-40DD-A50E-9A5CE17A92A5}.Debug|Win32.ActiveCfg = Debug|Win32 {F988B198-A386-40DD-A50E-9A5CE17A92A5}.Debug|Win32.ActiveCfg = Debug|Win32
{F988B198-A386-40DD-A50E-9A5CE17A92A5}.Debug|Win32.Build.0 = Debug|Win32 {F988B198-A386-40DD-A50E-9A5CE17A92A5}.Debug|Win32.Build.0 = Debug|Win32
{F988B198-A386-40DD-A50E-9A5CE17A92A5}.Release|Win32.ActiveCfg = Release|Win32 {F988B198-A386-40DD-A50E-9A5CE17A92A5}.Release|Win32.ActiveCfg = Release|Win32
{F988B198-A386-40DD-A50E-9A5CE17A92A5}.Release|Win32.Build.0 = Release|Win32 {F988B198-A386-40DD-A50E-9A5CE17A92A5}.Release|Win32.Build.0 = Release|Win32
{F988B198-A386-40DD-A50E-9A5CE17A92A5}.Remote Debug|Win32.ActiveCfg = Remote Debug|Win32 {01B740F7-5D4E-4E42-893F-CE018E5EE785}.Debug|Win32.ActiveCfg = Debug|Win32
{F988B198-A386-40DD-A50E-9A5CE17A92A5}.Remote Debug|Win32.Build.0 = Remote Debug|Win32 {01B740F7-5D4E-4E42-893F-CE018E5EE785}.Debug|Win32.Build.0 = Debug|Win32
{11BDE691-E0D7-443E-A5AF-87B35B8EEAEE}.Debug|Win32.ActiveCfg = Debug|Win32 {01B740F7-5D4E-4E42-893F-CE018E5EE785}.Release|Win32.ActiveCfg = Release|Win32
{11BDE691-E0D7-443E-A5AF-87B35B8EEAEE}.Debug|Win32.Build.0 = Debug|Win32 {01B740F7-5D4E-4E42-893F-CE018E5EE785}.Release|Win32.Build.0 = Release|Win32
{11BDE691-E0D7-443E-A5AF-87B35B8EEAEE}.Release|Win32.ActiveCfg = Release|Win32 {4A7C7DFD-1383-4C1A-926C-B70F654429A9}.Debug|Win32.ActiveCfg = Debug|Win32
{11BDE691-E0D7-443E-A5AF-87B35B8EEAEE}.Release|Win32.Build.0 = Release|Win32 {4A7C7DFD-1383-4C1A-926C-B70F654429A9}.Debug|Win32.Build.0 = Debug|Win32
{11BDE691-E0D7-443E-A5AF-87B35B8EEAEE}.Remote Debug|Win32.ActiveCfg = Remote Debug|Win32 {4A7C7DFD-1383-4C1A-926C-B70F654429A9}.Release|Win32.ActiveCfg = Release|Win32
{4A7C7DFD-1383-4C1A-926C-B70F654429A9}.Release|Win32.Build.0 = Release|Win32
{2742FFCF-E94C-4202-BB0E-36D86CD04A09}.Debug|Win32.ActiveCfg = Debug|Win32 {2742FFCF-E94C-4202-BB0E-36D86CD04A09}.Debug|Win32.ActiveCfg = Debug|Win32
{2742FFCF-E94C-4202-BB0E-36D86CD04A09}.Debug|Win32.Build.0 = Debug|Win32 {2742FFCF-E94C-4202-BB0E-36D86CD04A09}.Debug|Win32.Build.0 = Debug|Win32
{2742FFCF-E94C-4202-BB0E-36D86CD04A09}.Release|Win32.ActiveCfg = Release|Win32 {2742FFCF-E94C-4202-BB0E-36D86CD04A09}.Release|Win32.ActiveCfg = Release|Win32
{2742FFCF-E94C-4202-BB0E-36D86CD04A09}.Release|Win32.Build.0 = Release|Win32 {2742FFCF-E94C-4202-BB0E-36D86CD04A09}.Release|Win32.Build.0 = Release|Win32
{2742FFCF-E94C-4202-BB0E-36D86CD04A09}.Remote Debug|Win32.ActiveCfg = Debug|Win32
{2742FFCF-E94C-4202-BB0E-36D86CD04A09}.Remote Debug|Win32.Build.0 = Debug|Win32
EndGlobalSection EndGlobalSection
GlobalSection(SolutionProperties) = preSolution GlobalSection(SolutionProperties) = preSolution
HideSolutionNode = FALSE HideSolutionNode = FALSE
+67
View File
@@ -0,0 +1,67 @@
Microsoft Visual Studio Solution File, Format Version 9.00
# Visual Studio 2005
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "RP_L4", "RP_L4\RP_L4.vcproj", "{01B740F7-5D4E-4E42-893F-CE018E5EE785}"
ProjectSection(WebsiteProperties) = preProject
Debug.AspNetCompiler.Debug = "True"
Release.AspNetCompiler.Debug = "False"
EndProjectSection
ProjectSection(ProjectDependencies) = postProject
{F988B198-A386-40DD-A50E-9A5CE17A92A5} = {F988B198-A386-40DD-A50E-9A5CE17A92A5}
EndProjectSection
EndProject
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "Munga_L4", "MUNGA_L4\Munga_L4.vcproj", "{F988B198-A386-40DD-A50E-9A5CE17A92A5}"
ProjectSection(WebsiteProperties) = preProject
Debug.AspNetCompiler.Debug = "True"
Release.AspNetCompiler.Debug = "False"
EndProjectSection
EndProject
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "RPL4TOOL", "RP_L4\RPL4TOOL.vcproj", "{11BDE691-E0D7-443E-A5AF-87B35B8EEAEE}"
ProjectSection(WebsiteProperties) = preProject
Debug.AspNetCompiler.Debug = "True"
Release.AspNetCompiler.Debug = "False"
EndProjectSection
ProjectSection(ProjectDependencies) = postProject
{F988B198-A386-40DD-A50E-9A5CE17A92A5} = {F988B198-A386-40DD-A50E-9A5CE17A92A5}
EndProjectSection
EndProject
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "DivLoader", "DivLoader\DivLoader.vcproj", "{2742FFCF-E94C-4202-BB0E-36D86CD04A09}"
ProjectSection(WebsiteProperties) = preProject
Debug.AspNetCompiler.Debug = "True"
Release.AspNetCompiler.Debug = "False"
EndProjectSection
EndProject
Global
GlobalSection(SolutionConfigurationPlatforms) = preSolution
Debug|Win32 = Debug|Win32
Release|Win32 = Release|Win32
Remote Debug|Win32 = Remote Debug|Win32
EndGlobalSection
GlobalSection(ProjectConfigurationPlatforms) = postSolution
{01B740F7-5D4E-4E42-893F-CE018E5EE785}.Debug|Win32.ActiveCfg = Debug|Win32
{01B740F7-5D4E-4E42-893F-CE018E5EE785}.Debug|Win32.Build.0 = Debug|Win32
{01B740F7-5D4E-4E42-893F-CE018E5EE785}.Release|Win32.ActiveCfg = Release|Win32
{01B740F7-5D4E-4E42-893F-CE018E5EE785}.Release|Win32.Build.0 = Release|Win32
{01B740F7-5D4E-4E42-893F-CE018E5EE785}.Remote Debug|Win32.ActiveCfg = Remote Debug|Win32
{01B740F7-5D4E-4E42-893F-CE018E5EE785}.Remote Debug|Win32.Build.0 = Remote Debug|Win32
{F988B198-A386-40DD-A50E-9A5CE17A92A5}.Debug|Win32.ActiveCfg = Debug|Win32
{F988B198-A386-40DD-A50E-9A5CE17A92A5}.Debug|Win32.Build.0 = Debug|Win32
{F988B198-A386-40DD-A50E-9A5CE17A92A5}.Release|Win32.ActiveCfg = Release|Win32
{F988B198-A386-40DD-A50E-9A5CE17A92A5}.Release|Win32.Build.0 = Release|Win32
{F988B198-A386-40DD-A50E-9A5CE17A92A5}.Remote Debug|Win32.ActiveCfg = Remote Debug|Win32
{F988B198-A386-40DD-A50E-9A5CE17A92A5}.Remote Debug|Win32.Build.0 = Remote Debug|Win32
{11BDE691-E0D7-443E-A5AF-87B35B8EEAEE}.Debug|Win32.ActiveCfg = Debug|Win32
{11BDE691-E0D7-443E-A5AF-87B35B8EEAEE}.Debug|Win32.Build.0 = Debug|Win32
{11BDE691-E0D7-443E-A5AF-87B35B8EEAEE}.Release|Win32.ActiveCfg = Release|Win32
{11BDE691-E0D7-443E-A5AF-87B35B8EEAEE}.Release|Win32.Build.0 = Release|Win32
{11BDE691-E0D7-443E-A5AF-87B35B8EEAEE}.Remote Debug|Win32.ActiveCfg = Remote Debug|Win32
{2742FFCF-E94C-4202-BB0E-36D86CD04A09}.Debug|Win32.ActiveCfg = Debug|Win32
{2742FFCF-E94C-4202-BB0E-36D86CD04A09}.Debug|Win32.Build.0 = Debug|Win32
{2742FFCF-E94C-4202-BB0E-36D86CD04A09}.Release|Win32.ActiveCfg = Release|Win32
{2742FFCF-E94C-4202-BB0E-36D86CD04A09}.Release|Win32.Build.0 = Release|Win32
{2742FFCF-E94C-4202-BB0E-36D86CD04A09}.Remote Debug|Win32.ActiveCfg = Debug|Win32
{2742FFCF-E94C-4202-BB0E-36D86CD04A09}.Remote Debug|Win32.Build.0 = Debug|Win32
EndGlobalSection
GlobalSection(SolutionProperties) = preSolution
HideSolutionNode = FALSE
EndGlobalSection
EndGlobal
+19 -5
View File
@@ -30,6 +30,16 @@ vPLASMA renders the display's recovered command grammar
(`VPlasma.Core/Protocol/PlasmaProtocol.cs`, grammar recovered from (`VPlasma.Core/Protocol/PlasmaProtocol.cs`, grammar recovered from
`L4PLASMA.CPP` itself). For 4.12 that logic moves *inside* the game: `L4PLASMA.CPP` itself). For 4.12 that logic moves *inside* the game:
**Design principle — recreate the cockpit's feel on screen.** The 4.12 screen
layout places the RIO panel controls *around* the displays in the same
physical arrangement as the pod: MFD button clusters framing the screens,
board columns and keypads where they sit in the cockpit, the plasma glass in
its place above. vRIO's panel layout data (`VRio.Core`, the five MFD
clusters / four board columns / two keypads / encoder-gauge strip) is the
geometry reference — it is already the faithful software copy of the physical
panel. On-screen buttons light with the same lamp states the game commands,
so press-feedback works like the real button field.
- Replace the RIO serial path in the L4 layer with a native input layer - Replace the RIO serial path in the L4 layer with a native input layer
(keyboard / mouse / XInput, later Steam Input). Port vRIO's binding model — (keyboard / mouse / XInput, later Steam Input). Port vRIO's binding model —
its axis-travel semantics (throttle ratchet, spring-back pedals, ±80 stick) its axis-travel semantics (throttle ratchet, spring-back pedals, ±80 stick)
@@ -89,11 +99,15 @@ TeslaConsole drives over TCP 1501 becomes in-game UI:
### Toolchain ### Toolchain
- Shipping a Steam title from VC++ 2008 Express is untenable long-term - **Done (2026-07-12)** — the solution builds on **VS2022 (v143)** with the
(no modern CRT, no Steamworks-era toolchain testing, painful CI). Early Windows 11 SDK; see [BUILD.md](../BUILD.md) §3 for what changed and why.
task: upgrade `.vcproj``.vcxproj` on a branch (VS2022, `v143` toolset, Runtime-verified equivalent to the VC9 baseline (including RIO init against
still Win32/DX9) and burn down the warning list. This is a prerequisite for vRIO). Remaining cleanups called out there: un-`/Zp1` the Windows-header
comfortable Steamworks SDK linkage. boundary, port `stdext::hash_map``std::unordered_map`, single-TU the
duplicated globals so `/FORCE:MULTIPLE` can go away.
- ⚠️ Known pre-existing crash (both toolchains): standalone mission load AVs in
`d3d_OBJECT::LoadTexture` (`L4D3D.cpp:262`) — first debugging target now
that the v143 build has full PDBs (BUILD.md §4).
## Suggested order ## Suggested order