Pack: pack-dist.ps1 -- assemble a runnable Steam test dist (Phase 7)

Adapt RP412's pack-dist.ps1 for BattleTech. Assembles dist\ from a Release
Steam build (build-steam\Release\btl4.exe -- Release so it runs on a machine
without VS's non-redistributable debug CRT) plus steam_api.dll + OpenAL32.dll,
the content\ data (AUDIO/GAUGE/VIDEO, BTL4.RES, BTDPL.INI, the VREND
manifests, bindings.txt, DEV/MP/MP1 eggs), oalinst.exe (OpenAL fallback),
tools\btconsole.py, a TEST-only steam_appid.txt=480, a self-documenting
environ.ini (BT412STEAM=1 + the L4MFDSPLIT cockpit), start.bat, and a README
that states the multiplayer status plainly (lobby works; the host->member
mission feed is deferred; classic btconsole.py TCP path works today). -Zip
emits BattleTech-4.12.zip (~46 MB).

Verified: the Release exe boots a live DEV.EGG mission (optimizer-clean), and
the packaged exe run from dist\ brings the Steam transport up (FakeIP
allocated, lobby available) -- self-contained. dist/ + the zip are gitignored.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
This commit is contained in:
Cyd
2026-07-16 23:41:34 -05:00
co-authored by Claude Opus 4.8
parent 101562978d
commit a92e3a5780
3 changed files with 258 additions and 0 deletions
+14
View File
@@ -206,6 +206,20 @@ identical-to-baseline → take RP412's file verbatim, diverged → hand-apply th
- **Verify**: dist zip runs on a clean machine (no DXSDK); solo loop; packaged
2-machine Steam session.
> **Status (2026-07-16): PACKAGING SCRIPTED (test dist).** `pack-dist.ps1` (repo root)
> assembles `dist\` from a **Release** Steam build (`build-steam\Release\btl4.exe` — Release
> so it runs without VS's non-redistributable debug CRT) + `steam_api.dll` + `OpenAL32.dll`,
> the `content\` data (AUDIO/GAUGE/VIDEO, BTL4.RES, BTDPL.INI, the VREND manifests,
> bindings.txt, a few eggs), `oalinst.exe` (OpenAL fallback), `tools\btconsole.py`, a
> `steam_appid.txt=480` (TEST only), a self-documenting `environ.ini` (BT412STEAM=1,
> L4MFDSPLIT cockpit), `start.bat`, and a README that states the multiplayer status plainly.
> `-Zip` emits `BattleTech-4.12.zip` (~46 MB). Verified: the Release exe boots a live DEV.EGG
> mission (optimizer-clean), and the packaged exe run from `dist\` brings the Steam transport
> up (FakeIP allocated, lobby available) — self-contained. **Remaining for a real release:**
> KeyLight gate (`L4KEYLIGHT` not yet compiled in), a real AppID (drop `steam_appid.txt`),
> the clean-machine acceptance test, and the deferred host→member mission feed
> (`InstallNetworkMission`) before a full Steam mission plays end-to-end.
## Copy matrix (from RP412)
| Treatment | Files |