40 lines
2.3 KiB
Markdown
40 lines
2.3 KiB
Markdown
# Disaster recovery — rebuild this machine from the Gitea mirror
|
|
|
|
This repo is a **complete mirror of `C:\VWE\firestorm`** (source + game assets + the VC6 toolchain +
|
|
SDKs + build outputs + the deployed game + the `_UNUSED` archive). Nothing is excluded.
|
|
Large binaries are stored in **Git LFS**. A single clone reconstitutes a working tree.
|
|
|
|
## On a fresh Windows machine
|
|
1. Install **Git for Windows** (includes Git LFS) — or Git + `git-lfs` separately.
|
|
2. Enable long paths **before** cloning (this tree has deep VC98/MFC paths > 260 chars):
|
|
```
|
|
git config --global core.longpaths true
|
|
git config --global core.autocrlf false
|
|
git lfs install
|
|
```
|
|
(Also enable the OS setting: `HKLM\SYSTEM\CurrentControlSet\Control\FileSystem\LongPathsEnabled = 1`.)
|
|
3. Clone to the same location so the absolute paths baked into the toolchain config resolve:
|
|
```
|
|
git clone https://gitea.mysticmachines.com/VWE/firestorm.git C:\VWE\firestorm
|
|
```
|
|
`git clone` pulls LFS objects automatically. If any are missing: `cd C:\VWE\firestorm && git lfs pull`.
|
|
|
|
## After restore — make it buildable / runnable
|
|
- **Build toolchain (VC6):** import the registry config (ELEVATED), per `build-env\README.md`:
|
|
```
|
|
reg import C:\VWE\firestorm\build-env\vc6-hklm-registration.reg
|
|
reg import C:\VWE\firestorm\build-env\vc6-directories.reg
|
|
```
|
|
Then build `Gameleap\code\mw4\Code\MechWarrior4.dsw` (see `CLAUDE.md` STEP 1/3), or just use the
|
|
already-mirrored `Gameleap\code\rel.bin` / `pro.bin` binaries.
|
|
- **Run the game:** `build-env\deploy-mw4.ps1` reassembles `C:\VWE\firestorm\MW4` and applies the Win11
|
|
DirectDraw compat shim; or run the already-mirrored `C:\VWE\firestorm\MW4\MW4.exe` after re-applying the
|
|
shim (AppCompat is keyed on exe *path*, so a new machine needs it re-set — the deploy script does this).
|
|
- **Editor:** `Gameleap\mw4\run-editor.bat` (installed in place; see `CLAUDE.md` STEP 9).
|
|
|
|
## Notes
|
|
- `core.autocrlf=false` — line endings are preserved byte-for-byte; keep it that way.
|
|
- The mirror includes machine-specific bits (registry exports, deploy AppCompat). They restore the
|
|
*files*, but registry/AppCompat state must be re-imported on the new machine (steps above).
|
|
- See `CLAUDE.md` for the full build/runtime reconstruction history and `README.md` for the layout.
|