Deploy: full console argument reference in pod-launch/README
Complete arg surface of the single installed entry-point -- mode selector (bt/rp + recognized-unsupported), feature toggles, window placement, path overrides, diagnostics, and the exit codes the console reads back (game ExitCodeID passed through; 2=bad args; 3=mode not yet wired). Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
This commit is contained in:
@@ -39,32 +39,65 @@ installed:
|
||||
dotnet publish -c Release -r win-x64 --self-contained true -p:PublishSingleFile=true -p:IncludeNativeLibrariesForSelfExtract=true
|
||||
```
|
||||
|
||||
## Usage
|
||||
## Console argument reference
|
||||
|
||||
```
|
||||
pod-launch [mode] [options]
|
||||
```
|
||||
`pod-launch [mode] [options]` — the single installed entry-point. The product is
|
||||
installed once; the console activates features by the args it passes. The per-rig
|
||||
layout is fixed at `postinstall` time, so a typical call is just `pod-launch bt`
|
||||
(± `--no-sound`).
|
||||
|
||||
**Modes** (the console's ExitCodeID vocabulary → a launch): `bt` → `net_loop.conf`,
|
||||
`rp` → `net_rp.conf` (supported). `bt`/`rp` also serve the **camera ship** and
|
||||
**live mission-review** roles — the console assigns those per-IP via the egg
|
||||
`hostType`, so they're *not* separate modes (see `../CAMERA-REVIEW-NOTES.md`).
|
||||
`review` (playback of `last.spl`) and the diagnostics (`test-plasma`,
|
||||
`reset-rio`, `audio-test`) are recognized but fail clean (exit 3 + reason) until
|
||||
their DOS launch mechanics are confirmed.
|
||||
### Mode — the primary feature selector (positional, or `--mode <name>`)
|
||||
|
||||
Paths resolve relative to `--root` (default: the exe's own dir = the deployed
|
||||
game dir), with dev fallbacks so the same exe runs against the `emulator/` tree:
|
||||
| Arg | Activates | Status |
|
||||
|---|---|---|
|
||||
| `bt` | BattleTech, networked cockpit (`net_loop.conf`, looped) | wired |
|
||||
| `rp` | Red Planet, networked cockpit (`net_rp.conf`, looped) | wired |
|
||||
| `review` | mission-review PLAYBACK of `last.spl` | recognized, exits 3 (DOS arg TBD) |
|
||||
| `test-plasma` | plasma-display diagnostic | recognized, exits 3 |
|
||||
| `reset-rio` | RIO reset diagnostic | recognized, exits 3 |
|
||||
| `audio-test` | audio test diagnostic | recognized, exits 3 |
|
||||
|
||||
Camera ship and LIVE mission-review are **not** modes — same `bt`/`rp` boot; the
|
||||
console sets the role per-IP via the egg `hostType` (0 pod / 1 camera / 2 review),
|
||||
see `../CAMERA-REVIEW-NOTES.md`. Default mode: `bt`.
|
||||
|
||||
### Feature toggles
|
||||
|
||||
| Arg | Effect |
|
||||
|---|---|
|
||||
| `--no-sound` | skip the ~4-min AWE32 SoundFont upload (fast boot, no audio) |
|
||||
| `--mipmap` | mip-filter minified textures (fixes RP floor shimmer; non-authentic) |
|
||||
| `--layout cockpit\|explode` | `cockpit` = borderless VDB head windows (default); `explode` = 7-window debug |
|
||||
| `--no-bridge` | pod only, no GL render window |
|
||||
| `--no-focus` | skip the renderer-topmost / DOSBox-focus pass |
|
||||
|
||||
### Window placement (per-rig; normally fixed, overridable per-launch)
|
||||
|
||||
| Arg | Effect |
|
||||
|---|---|
|
||||
| `--bridge-pos x,y` | main render window position (default `0,0`) |
|
||||
| `--bridge-size w,h` | main render size (default `800,600`) |
|
||||
| `--dosbox-xy x,y` | DOSBox window position + focus (default `10,10`) |
|
||||
|
||||
### Path / asset overrides (dev / edge — `postinstall` already wires these)
|
||||
|
||||
`--root <dir>` · `--conf <path>` · `--dosbox <exe>` · `--renderer <exe>` ·
|
||||
`--bridge-script <py>` · `--awe-rom <raw>` · `--work <dir>`
|
||||
|
||||
### Diagnostics
|
||||
|
||||
`--dry-run` (resolve + print the launch plan, don't launch) · `-h` / `--help`
|
||||
|
||||
```
|
||||
pod-launch bt --root C:\VWE\TeslaRel410\emulator --dry-run
|
||||
```
|
||||
|
||||
`--dry-run` prints the resolved plan (dosbox / conf / renderer / work / layout)
|
||||
without launching — use it to validate a rig's layout. Key flags: `--layout
|
||||
cockpit|explode`, `--no-sound`, `--mipmap`, `--dosbox-xy x,y`, `--bridge-pos
|
||||
x,y`, `--renderer <exe>` (frozen renderer; else falls back to `pyw
|
||||
live_bridge.py`). `-h` for the full list.
|
||||
### Exit codes the console reads back
|
||||
|
||||
- **normal run** → returns **DOSBox's exit code** = the game's **`ExitCodeID`**,
|
||||
passed straight through (the same remote-ops code the pod loop dispatched on).
|
||||
- **`2`** → bad arguments (usage on stderr).
|
||||
- **`3`** → recognized mode not yet wired (reason on stderr).
|
||||
|
||||
## Deploy layout it expects (under the game dir / `--root`)
|
||||
|
||||
|
||||
Reference in New Issue
Block a user