- WinTesla.sln: remove 6 dangling project references (BT410_L4, TextureExp, MeshExp, SphereExp, DetailExp, MatReplaceExp) that are not present in the repo, plus their config entries. Solution now builds the 4 present projects: Munga_L4, RP_L4, RPL4TOOL, DivLoader. - Munga_L4.vcproj / RP_L4.vcproj: replace hardcoded "C:\Program Files (x86)\Microsoft DirectX SDK (March 2009)\" include/lib paths with the installer-provided $(DXSDK_DIR) variable, matching the existing VS2008 project variants. - Add BUILD.md (toolchain/SDK requirements and build steps) and docs/BUILD-NOTES.md (findings, cleanup history, orphaned files). - .gitignore: ignore *.sln.cache. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
5.5 KiB
Repository & Build Findings
Notes from the initial git import and build assessment of the Red Planet v4.10 Win32 source. See BUILD.md for the practical build instructions; this file records what was found and what was changed, and why.
1. What this repository is
- Win32 source for the game Red Planet v4.10 (string confirmed in
RP_L4/rpl4.log:Red Planet v4.10). - Engine: MUNGA (
MUNGA/) — a cross-platform C++ game/sim engine. - Platform layer: MUNGA_L4 (
MUNGA_L4/) — Win32 + DirectX 9 backend (Direct3D 9, DirectInput 8, OpenAL audio, SOS audio middleware headers). - Game code: RP (
RP/) and RP_L4 (RP_L4/). - Support projects: DivLoader (asset/DIV loader), Setup1 (installer).
- ~551 tracked files, ~9 MB.
Toolchain detected on the import machine
At import time the build machine had no usable C++ toolchain:
- No Visual Studio, no
cl.exe, noVCBuild.exe, novswhere. - Only .NET Framework
MSBuild.exe(v2–v4) — which cannot build.vcproj. - MinGW gcc/g++ (unusable for this MSVC/DirectX codebase).
- The required DirectX SDK (March 2009) was not installed.
A build attempt confirmed the blocker:
error MSB3428: Could not load the Visual C++ component "VCBuild.exe".
Building therefore requires installing VS 2005/2008 + the DirectX SDK (the user is sourcing these separately).
2. Changes made during preparation
2.1 Git hygiene (initial import commit)
- Removed stale Subversion metadata (
Setup1/.svn/) that pointed at a dead server (https://dev.vgcorps.com/svn/WinTesla). - Added
.gitignore— VS build artifacts, IDE state,*.log, OS cruft. This excludes the runtime logRP_L4/rpl4.log. - Added
.gitattributes— normalizes line endings, forces CRLF on Win32 source, marks.lib/.res/.egg/.rtfas binary.
2.2 Solution cleanup (WinTesla.sln)
The original solution referenced 10 projects, but only 4 exist in the repo. The 6 dangling references were removed so the solution loads cleanly:
| Removed project | Path referenced | Present? |
|---|---|---|
| BT410_L4 | BT410_L4\BT410_L4.vcproj |
❌ missing |
| TextureExp | TextureExp\TextureExp.vcproj |
❌ missing |
| MeshExp | MeshExp\MeshExp.vcproj |
❌ missing |
| SphereExp | SphereExp\SphereExp.vcproj |
❌ missing |
| DetailExp | DetailExp\DetailExp.vcproj |
❌ missing |
| MatReplaceExp | MatReplaceExp\MatReplaceExp.vcproj |
❌ missing |
Remaining (present) projects: RP_L4, Munga_L4, RPL4TOOL, DivLoader.
Their GlobalSection(ProjectConfigurationPlatforms) entries were pruned to
match. SolutionConfigurationPlatforms (Debug/Release/Remote Debug | Win32)
were left unchanged.
The 6 missing projects appear to be model/texture exporter tools and a sister game project (
BT410— a different pod title) that live in other repositories. If you obtain them, re-add them to the solution.
2.3 DirectX SDK path un-hardcoded
Munga_L4.vcproj and RP_L4.vcproj (the VS2005 / v8.00 files) hardcoded:
C:\Program Files (x86)\Microsoft DirectX SDK (March 2009)\Include
C:\Program Files (x86)\Microsoft DirectX SDK (March 2009)\Lib\x86
Both were replaced (6 occurrences each) with the installer-provided variable,
matching what the existing ... VS2008.vcproj variants already used:
$(DXSDK_DIR)Include
$(DXSDK_DIR)Lib\x86
DXSDK_DIR is set by the DirectX SDK installer and ends in a trailing
backslash, so $(DXSDK_DIR)Include resolves correctly.
3. Project reference data
Collected from the .vcproj files for quick reference.
Configuration types
ConfigurationType="1"→ Application (exe):RP_L4,RPL4TOOLConfigurationType="4"→ Static library:Munga_L4,DivLoader
Link dependencies
- Munga_L4:
OpenAL32.lib D3D9.lib D3DX9.lib DXERR.lib - RP_L4:
WS2_32.lib Munga_l4.lib dinput8.lib dxguid.lib openal32.lib libsndfile-1.lib d3dx9.lib d3d9.lib dbghelp.lib - RPL4TOOL:
Munga_l4.lib libsndfile-1.lib WS2_32.lib dinput8.lib dxguid.lib
Preprocessor definitions (RP_L4)
- Debug:
WIN32;_DEBUG;_WINDOWS;_CRT_SECURE_NO_DEPRECATE - Release:
WIN32;_WINDOWS;_CRT_SECURE_NO_DEPRECATE
Character set
Munga_L4,RP_L4,RPL4TOOL:CharacterSet="1"(Unicode)DivLoader:CharacterSet="2"(MBCS)
4. Orphaned / non-build files (informational)
These files are present but are not referenced by any project, so they do not affect the build. Left in place for historical completeness:
MUNGA_L4/JOYSTICK.asm— MASM source, not in any.vcproj. No MASM toolchain is required to build. (L4JOYSTK.hexists but the.asmis unused.)MUNGA_L4/sos/SOSMAWE.Cand thesos/bc4,sos/wcheader trees — SOS audio middleware for old Borland/Watcom compilers; headers only.RP_L4/TEST.EGG,RP_L4/last.egg—.eggdata blobs.last.eggis likely runtime-generated ("last loaded"); kept in tracking pending confirmation.docs/audionotes.rtf— design notes.
5. Open questions for the owner
- Are the 6 removed projects (BT410_L4, *Exp tools) needed here, or do they belong to separate repos?
- Is
RP_L4/last.egga real asset or generated output? If generated, add it to.gitignoreand untrack it. - Which VS version is the target going forward — keep VS2005/2008
.vcproj, or upgrade to.vcxprojfor a modern VS + Windows SDK (dropping the legacy DirectX SDK in favor of the Windows SDK's Direct3D)?