mirror of
https://github.com/jkdansereau/goldeneye-pc-port.git
synced 2026-10-23 15:52:42 +02:00
* Drop-in ROM: first-run sidecar conversion, no Python (issue #6, Part A + interim) The release bundle now turns a dropped-in NTSC-U ROM into a playable game with zero tooling: when data/pcmodels-* / data/pccg-* are missing at boot, the engine spawns the frozen prepare-assets converter shipped in the bundle (prepare-assets/ge007-convert[.exe], PyInstaller --onefile), waits for it, and re-checks before continuing (port/src/romconvert.c, called from romdataInit after ROM validation). Failure aborts boot with a message instead of the later D179-class crash. - prepare-assets.py: runs in-process via runpy when frozen (no user Python to exec); NTSC-U-only gate with a clear message for PAL/JP ROMs; d88's sibling import needs an explicit sys.path entry (run_path does not set one). Verified: frozen exe output byte-identical to the unfrozen path and to the shipped sidecars. - CI (linux + windows): PyInstaller freeze step before bundling (ensurepip / --break-system-packages for MSYS2's pip-less python). - bundle scripts: copy ge007-convert into prepare-assets/ (hard-fail if not frozen), size guard 60 -> 120 MB. - Release notes: US-only drop-in instructions, no Python required. - D258: PAL/JP filelist naming defects documented; multi-region deferred to the Part B follow-up. * CI: install pip via pacman on Windows (MSYS2 ensurepip is disabled); regen findings index for D258
This commit is contained in:
1 parent
99bc2a3a6a
commit
b2d5551ece
11 files changed
+370
-29
No files matched your search
@@ -93,21 +93,20 @@ needs to be installed first.
|
||||
### Running it
|
||||
|
||||
You supply your own **GoldenEye 007 N64 ROM** (`.z64`, big-endian) that you
|
||||
legally own — NTSC-U (US), PAL (EU) or NTSC-J (JP); the asset step detects the
|
||||
region from the SHA-1. US is the best-tested.
|
||||
legally own — the **NTSC-U (US)** release is what this build supports (PAL / JP
|
||||
are on the roadmap). No Python, no toolchain, nothing to install.
|
||||
|
||||
1. Unpack the archive.
|
||||
2. Make a `data/` folder next to the executable and put the ROM in it, named
|
||||
per region (`ge007.ntsc-final.z64` / `ge007.pal-final.z64` /
|
||||
`ge007.jpn-final.z64`).
|
||||
3. Run the one-time asset step (needs Python 3.8+):
|
||||
`python3 prepare-assets/prepare-assets.py` — it reads your ROM and writes
|
||||
the two `data/pc*-<region>/` folders the engine needs. Standard library
|
||||
only; a few seconds.
|
||||
4. Run the executable **from that folder**.
|
||||
`ge007.ntsc-final.z64`.
|
||||
3. Run the executable **from that folder**. The first run takes a few extra
|
||||
seconds: it detects your ROM, generates the two derived asset folders
|
||||
(`data/pcmodels-ntsc-final/`, `data/pccg-ntsc-final/`) once, and saves them
|
||||
for every future run. (The generator is `prepare-assets/ge007-convert`
|
||||
inside the bundle; you can also run it manually — it prints what it's doing.)
|
||||
|
||||
**Steam Deck:** sideload the unpacked folder (USB or a file manager), do steps
|
||||
2–4, then add the executable to Games → *Add Game* as a non-Steam game.
|
||||
2–3, then add the executable to Games → *Add Game* as a non-Steam game.
|
||||
|
||||
**In-game settings on the Deck:** the options overlay is fully gamepad-driven
|
||||
— it opens with **Select**, the D-pad or left stick (up/down) moves between
|
||||
|
||||
Reference in new issue
Block a user