Moved to proper subfolder to make room for other VWE projects.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
This commit is contained in:
Cyd
2026-06-26 10:12:09 -05:00
co-authored by Claude Opus 4.8
parent 4c6b8345c8
commit 202563065f
15 changed files with 64 additions and 64 deletions
+7 -7
View File
@@ -48,15 +48,15 @@ Two non-obvious but verified facts that make this work:
STLport (`mw4\Libraries\stlport`) wraps a 27 MB snapshot of the VC98 + Platform SDK
headers (974 files). It used to require a hardcoded `C:\stlnative`; it now lives here at
`build-env\stlnative\`, and the 3 macros in `stl_inc_find.hpp` point at
`<c:\VWE\build-env\stlnative/##x>`. No external `C:\stlnative` is needed — the build is
self-contained under `c:\VWE`. (If you ever relocate the working tree, update those 3
`<c:\VWE\firestorm\build-env\stlnative/##x>`. No external `C:\stlnative` is needed — the build is
self-contained under `c:\VWE\firestorm`. (If you ever relocate the working tree, update those 3
macro lines to the new absolute path.)
### One-time setup: register VC6 + the directory paths
Run **elevated** (HKLM write needs admin; do both in the same shell):
```cmd
reg import c:\VWE\build-env\vc6-hklm-registration.reg
reg import c:\VWE\build-env\vc6-directories.reg
reg import c:\VWE\firestorm\build-env\vc6-hklm-registration.reg
reg import c:\VWE\firestorm\build-env\vc6-directories.reg
```
- `vc6-hklm-registration.reg` → registers the VC6 install (ProductDir/InstallDir,
environment packages) under `HKLM\SOFTWARE\Wow6432Node\Microsoft\{VisualStudio,DevStudio}\6.0`
@@ -72,14 +72,14 @@ reg import c:\VWE\build-env\vc6-directories.reg
1. Launch `VisualStudio6\Common\MSDev98\Bin\MSDEV.EXE`.
2. (Directories are already set by the `.reg` import — verify under
Tools → Options → Directories if desired.)
3. Open `c:\VWE\Gameleap\code\mw4\Code\MechWarrior4.dsw`, set
3. Open `c:\VWE\firestorm\Gameleap\code\mw4\Code\MechWarrior4.dsw`, set
**MW4Application** as the Active Project, pick a config, Build.
### Option B — command line (scriptable)
```cmd
cd c:\VWE\build-env
cd c:\VWE\firestorm\build-env
setup-mw4-build.bat
cd c:\VWE\Gameleap\code\mw4\Code
cd c:\VWE\firestorm\Gameleap\code\mw4\Code
msdev MechWarrior4.dsw /MAKE "MW4Application - Win32 Release"
```
> `msdev /MAKE` reads include/lib dirs from the **registry** (the `.reg` above),
+2 -2
View File
@@ -23,8 +23,8 @@
picks them up automatically.
#>
param(
[string]$Runtime = "c:\VWE\Gameleap\mw4", # source tree: Content\ + resource\
[string]$BinDir = "c:\VWE\Gameleap\code\rel.bin", # our freshly built MW4pro.exe
[string]$Runtime = "c:\VWE\firestorm\Gameleap\mw4", # source tree: Content\ + resource\
[string]$BinDir = "c:\VWE\firestorm\Gameleap\code\rel.bin", # our freshly built MW4pro.exe
[int] $TimeoutSec = 1800 # kill a hung (modal-STOP) build
)
$ErrorActionPreference = "Stop"
+4 -4
View File
@@ -1,5 +1,5 @@
<#
deploy-editor.ps1 - install the MW4GameEd2 editor INTO the game-data tree (c:\VWE\Gameleap\mw4).
deploy-editor.ps1 - install the MW4GameEd2 editor INTO the game-data tree (c:\VWE\firestorm\Gameleap\mw4).
The editor's entire job is editing the source content + resources, which live in Gameleap\mw4.
So instead of a separate deploy dir that just junctions back here, we drop the editor binaries
@@ -16,8 +16,8 @@
Editor launches via run-editor.bat (just -armorlevel 3; joystick disabled in code, no /gos switch).
#>
param(
[string]$Data = "c:\VWE\Gameleap\mw4", # game-data tree = the editor's working dir
[string]$BinDir = "c:\VWE\Gameleap\code\pro.bin" # our built MW4Ed2.exe (PROFILE = working config)
[string]$Data = "c:\VWE\firestorm\Gameleap\mw4", # game-data tree = the editor's working dir
[string]$BinDir = "c:\VWE\firestorm\Gameleap\code\pro.bin" # our built MW4Ed2.exe (PROFILE = working config)
)
$ErrorActionPreference = "Stop"
Write-Host "== Install MW4 editor into the data tree ==" -ForegroundColor Cyan
@@ -73,7 +73,7 @@ Write-Host " wrote run-editor.bat"
$ifeo = 'HKLM:\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Image File Execution Options\MW4Ed2.exe'
if (Test-Path $ifeo) {
Write-Host " WARNING: PageHeap IFEO for MW4Ed2.exe is set. Remove it (ELEVATED):" -ForegroundColor Red
Write-Host " reg import C:\VWE\build-env\mw4ed2-pageheap-off.reg" -ForegroundColor Red
Write-Host " reg import C:\VWE\firestorm\build-env\mw4ed2-pageheap-off.reg" -ForegroundColor Red
}
Write-Host "`nEditor installed into the data tree: $Data" -ForegroundColor Green
+7 -7
View File
@@ -1,12 +1,12 @@
<#
deploy-mw4.ps1 - assemble a runnable copy of BattleTech:FireStorm at c:\VWE\MW4
deploy-mw4.ps1 - assemble a runnable copy of BattleTech:FireStorm at c:\VWE\firestorm\MW4
RULES-BASED deployment, sourced entirely from the working directory (c:\VWE).
RULES-BASED deployment, sourced entirely from the working directory (c:\VWE\firestorm).
No external/image paths are read.
Sources:
Runtime = c:\VWE\Gameleap\mw4 (dev superset: runtime DLLs, resources, config)
BinDir = c:\VWE\Gameleap\code\rel.bin (our freshly built binaries)
Runtime = c:\VWE\firestorm\Gameleap\mw4 (dev superset: runtime DLLs, resources, config)
BinDir = c:\VWE\firestorm\Gameleap\code\rel.bin (our freshly built binaries)
The dev runtime tree is bloated (~6 GB) with source content and dev-only data.
A clean runnable deployment is ~900 MB. These rules select the runtime subset:
@@ -33,9 +33,9 @@
#>
param(
[string]$Runtime = "c:\VWE\Gameleap\mw4",
[string]$BinDir = "c:\VWE\Gameleap\code\rel.bin",
[string]$Dest = "c:\VWE\MW4",
[string]$Runtime = "c:\VWE\firestorm\Gameleap\mw4",
[string]$BinDir = "c:\VWE\firestorm\Gameleap\code\rel.bin",
[string]$Dest = "c:\VWE\firestorm\MW4",
[switch]$SkipResourceBuild,
[int] $ResourceBuildTimeoutSec = 1800
)
+2 -2
View File
@@ -2,8 +2,8 @@ Windows Registry Editor Version 5.00
; Apply the DirectDraw 16-bit mitigation shim to the deployed MW4.exe at the
; SYSTEM (all-users) level, exactly matching the known-good C:\MW4knowngood entry.
; Import elevated: reg import c:\VWE\build-env\mw4-compat-hklm.reg
; Import elevated: reg import c:\VWE\firestorm\build-env\mw4-compat-hklm.reg
; (HKCU per-user layer is set separately by deploy-mw4.ps1 / already applied.)
[HKEY_LOCAL_MACHINE\Software\Microsoft\Windows NT\CurrentVersion\AppCompatFlags\Layers]
"C:\\VWE\\MW4\\MW4.exe"="$ DWM8And16BitMitigation"
"C:\\VWE\\firestorm\\MW4\\MW4.exe"="$ DWM8And16BitMitigation"
+1 -1
View File
@@ -1,6 +1,6 @@
Windows Registry Editor Version 5.00
; Disable PageHeap for the editor (removes the IFEO MW4Ed2.exe subkey).
; Import ELEVATED: reg import c:\VWE\build-env\mw4ed2-pageheap-off.reg
; Import ELEVATED: reg import c:\VWE\firestorm\build-env\mw4ed2-pageheap-off.reg
[-HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Image File Execution Options\MW4Ed2.exe]
+1 -1
View File
@@ -5,7 +5,7 @@ Windows Registry Editor Version 5.00
; immediately at the corrupting write (instead of corrupting the free-list and
; hanging/crashing later). GlobalFlag 0x02000000 = FLG_HEAP_PAGE_ALLOCS;
; PageHeapFlags 0x3 = enabled + full page heap.
; Import ELEVATED: reg import c:\VWE\build-env\mw4ed2-pageheap.reg
; Import ELEVATED: reg import c:\VWE\firestorm\build-env\mw4ed2-pageheap.reg
; To DISABLE later: delete the MW4Ed2.exe subkey (or run mw4ed2-pageheap-off.reg).
; (IFEO is a shared key - NOT redirected to Wow6432Node - so this applies to the
; 32-bit editor's ntdll heap.)
+1 -1
View File
@@ -4,7 +4,7 @@ rem play-mr.bat - drag-and-drop launcher for MW4 mission-review (.mr) replay.
rem Drop a .mr file onto this .bat, or run: play-mr.bat "C:\path\match.mr"
rem
rem EDIT THIS to your game install folder (the one containing MW4.exe):
set "GAMEDIR=C:\VWE\MW4"
set "GAMEDIR=C:\VWE\firestorm\MW4"
rem ============================================================================
if "%~1"=="" (
echo Usage: drag a .mr file onto this file, or: play-mr.bat "path\to\match.mr"
+1 -1
View File
@@ -33,7 +33,7 @@
[CmdletBinding()]
param(
[Parameter(Mandatory=$true)] [string]$MrFile,
[string]$GameDir = "C:\VWE\MW4", # point this at your game install on another system
[string]$GameDir = "C:\VWE\firestorm\MW4", # point this at your game install on another system
[string]$Exe = "MW4.exe",
[string]$ExtraArgs = "-window -dragon -nomovie", # e.g. "-window -nomovie"
[switch]$NoShim, # skip the DirectDraw AppCompat shim
+8 -8
View File
@@ -4,17 +4,17 @@ Windows Registry Editor Version 5.00
; VC6 Tools->Options->Directories for the MW4 / FireStorm build.
; EXACT original ordering recovered from the build machine's jeff hive,
; rebased from the original paths to the local build-env\ copies:
; C:\Program Files\Microsoft Visual Studio -> c:\VWE\build-env\VisualStudio6
; C:\CODE\DX7ASDK -> c:\VWE\build-env\dx7asdk
; C:\CODE\DXMEDIA -> c:\VWE\build-env\DXMedia
; C:\Program Files\Microsoft Visual Studio -> c:\VWE\firestorm\build-env\VisualStudio6
; C:\CODE\DX7ASDK -> c:\VWE\firestorm\build-env\dx7asdk
; C:\CODE\DXMEDIA -> c:\VWE\firestorm\build-env\DXMedia
;
; Imports into HKEY_CURRENT_USER (no admin needed). Double-click to apply,
; or: reg import c:\VWE\build-env\vc6-directories.reg
; or: reg import c:\VWE\firestorm\build-env\vc6-directories.reg
; This is what lets `msdev ... /MAKE` and the IDE find DX7 headers first.
; ===========================================================================
[HKEY_CURRENT_USER\Software\Microsoft\DevStudio\6.0\Build System\Components\Platforms\Win32 (x86)\Directories]
"Path Dirs"="c:\\VWE\\build-env\\VisualStudio6\\Common\\MSDev98\\Bin;c:\\VWE\\build-env\\VisualStudio6\\VC98\\BIN;c:\\VWE\\build-env\\VisualStudio6\\Common\\TOOLS;c:\\VWE\\build-env\\VisualStudio6\\Common\\TOOLS\\WINNT;C:\\WINDOWS\\system32;C:\\WINDOWS;C:\\WINDOWS\\System32\\Wbem"
"Include Dirs"="c:\\VWE\\build-env\\DXMedia\\INCLUDE;c:\\VWE\\build-env\\dx7asdk\\INCLUDE;c:\\VWE\\build-env\\VisualStudio6\\VC98\\INCLUDE;c:\\VWE\\build-env\\VisualStudio6\\VC98\\MFC\\INCLUDE;c:\\VWE\\build-env\\VisualStudio6\\VC98\\ATL\\INCLUDE"
"Library Dirs"="c:\\VWE\\build-env\\VisualStudio6\\VC98\\LIB;c:\\VWE\\build-env\\VisualStudio6\\VC98\\MFC\\LIB"
"Source Dirs"="c:\\VWE\\build-env\\VisualStudio6\\VC98\\MFC\\SRC;c:\\VWE\\build-env\\VisualStudio6\\VC98\\MFC\\INCLUDE;c:\\VWE\\build-env\\VisualStudio6\\VC98\\ATL\\INCLUDE;c:\\VWE\\build-env\\VisualStudio6\\VC98\\CRT\\SRC"
"Path Dirs"="c:\\VWE\\firestorm\\build-env\\VisualStudio6\\Common\\MSDev98\\Bin;c:\\VWE\\firestorm\\build-env\\VisualStudio6\\VC98\\BIN;c:\\VWE\\firestorm\\build-env\\VisualStudio6\\Common\\TOOLS;c:\\VWE\\firestorm\\build-env\\VisualStudio6\\Common\\TOOLS\\WINNT;C:\\WINDOWS\\system32;C:\\WINDOWS;C:\\WINDOWS\\System32\\Wbem"
"Include Dirs"="c:\\VWE\\firestorm\\build-env\\DXMedia\\INCLUDE;c:\\VWE\\firestorm\\build-env\\dx7asdk\\INCLUDE;c:\\VWE\\firestorm\\build-env\\VisualStudio6\\VC98\\INCLUDE;c:\\VWE\\firestorm\\build-env\\VisualStudio6\\VC98\\MFC\\INCLUDE;c:\\VWE\\firestorm\\build-env\\VisualStudio6\\VC98\\ATL\\INCLUDE"
"Library Dirs"="c:\\VWE\\firestorm\\build-env\\VisualStudio6\\VC98\\LIB;c:\\VWE\\firestorm\\build-env\\VisualStudio6\\VC98\\MFC\\LIB"
"Source Dirs"="c:\\VWE\\firestorm\\build-env\\VisualStudio6\\VC98\\MFC\\SRC;c:\\VWE\\firestorm\\build-env\\VisualStudio6\\VC98\\MFC\\INCLUDE;c:\\VWE\\firestorm\\build-env\\VisualStudio6\\VC98\\ATL\\INCLUDE;c:\\VWE\\firestorm\\build-env\\VisualStudio6\\VC98\\CRT\\SRC"
Binary file not shown.