Files
goldeneye-pc-port/.gitignore
T
James Dansereau b2d5551ece Drop-in ROM: first-run sidecar conversion, no Python (issue #6) (#84)
* 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
2026-09-13 23:17:29 -04:00

179 lines
4.1 KiB
Plaintext

#Git and VS files
.*~
__pycache__/
.vscode/
.[vV][sS]/
*.rz
*.tmp
*.o
branchdiff.sh
branchdiff_report.txt
*.dump
*.cdata*
/StructLayoutSettings.json
# rom files
*.[zZnN]64
021990.bin
0219D0.bin
# Assets
assets/animationtable_data.bin
assets/animationtable_entries.bin
assets/font/*.bin
assets/ge007.e.118660.jfont_chardata.bin
assets/ge007.j.118660.jfont_chardata.bin
assets/jfont_dl.bin
assets/font_chardataj.bin
assets/font_chardatae.bin
assets/ge007.u.29D160.Globalimagetable.bin
assets/rarewarelogo.bin
assets/ge007.u.2A4D50.usedby7F008DE4.bin
assets/ge007.u.117880.jfont_dl.bin
assets/ge007.u.117940.jfont_chardata.bin
assets/ge007.u.123040.efont_chardata.bin
assets/ge007.u.29E560.Globalimagetable_commandblock.bin
#images
assets/images/split/*.bin*
assets/images/combined/*.bin*
assets/images/out/*
assets/images/split/png/*
#music
assets/music/*.bin
assets/music/*.ctl
assets/music/*.tbl
assets/music/*.sbk
assets/music/*.seq
assets/music/*.aifc
assets/music/*.aiff
#obseg
assets/obseg/bg/*.bin
assets/obseg/bg/e/*.bin
assets/obseg/chr/*/Model.c
assets/obseg/gun/*/Model.c
assets/obseg/ob__ob_end.seg
assets/obseg/prop/*/Model.c
assets/obseg/setup/*.bin
assets/obseg/setup/[eju]/*.bin
assets/obseg/stan/*.bin
assets/obseg/text/*.bin
assets/obseg/text/[eju]/*.bin
assets/obseg/text/[eju]/*.c
assets/ramrom/*.bin
assets/ramrom/[eju]/*.bin
# bin is required, but lets prevent accidental deletion
bin/*
build/*
build-*/*
notes/*
# Local working / planning notes — rolling drafts, not published, not tracked.
# docs/HANDOFF.md and docs/BACKLOG.md are the long-standing pair (also in
# .git/info/exclude); docs/dev/notes/ is the drop for everything else
# (roadmaps, session plans, scratch triage).
docs/HANDOFF.md
docs/BACKLOG.md
docs/dev/notes/
# PC port (see CMakeLists.txt / port/)
build-pc/
tools_pc/*.exe
data/
# release bundles built by tools_pc/bundle-win.sh (repo root only; the
# packaging template lives in tools_pc/dist/ and IS tracked)
/dist/
ge007.ini
!build/test.c
!notes/StyleGuide.md
#tools
# Original SGI IRIX 5.3 IDO toolchain (proprietary SGI binaries) and the SGI
# image viewer are NOT distributed with this repo. They are only needed to
# build the N64 ROM or to regenerate tools/ido5.3_recomp; the PC port does not
# use them. See docs/SetupGuide.md "Recompile IDO" for how to obtain them.
tools/irix/
tools/SGIImageViewer.exe
tools/extractor/*.o
tools/extractor/extractor
tools/aaa_rip/main.o
tools/aaa_rip/aaa_rip
tools/n64cksum
tools/armips
tools/gzipsrc/gzip
tools/gzipsrc/*.o
tools/report/report
tools/report/index.html
tools/report/JPN.htm
tools/gaudio/*
bondtypes_AI.h
acpp_c.c
as1_c.c
cc_c.c
cfe_c.c
copt_c.c
ugen_c.c
ujoin_c.c
uld_c.c
umerge_c.c
uopt_c.c
usplit_c.c
#exclude local user scripts in root folder
/my_*.sh
assets/obseg/em/data/alien8.seg
assets/obseg/em/data/atic.seg
assets/obseg/em/data/cookie.seg
assets/obseg/em/data/gunfright.seg
assets/obseg/em/data/jetman.seg
assets/obseg/em/data/jetpac.seg
assets/obseg/em/data/knightlore.seg
assets/obseg/em/data/pssst.seg
assets/obseg/em/data/sabre.seg
assets/obseg/em/data/spec_rom.seg
assets/obseg/em/data/under.seg
scripts/local/
scripts/make/local/
# PC port debug/session artifacts
_run.log
ge007.crash.log
.pi/
run_out.log
ppm/
screenshots/
# tools_pc/perf.ps1 output (raw ETW traces + CSV analysis, regenerable)
perf_captures/
# local Mupen64 Plus checkout (N64 reference footage); binaries, do not commit
tools_pc/mupen64/
# local N64 emulator checkout (D205 A/B reference)
mupen64/
# PC port run/scratch logs
run_*.log
d6*.log
ge007.crash.log
# agent scratch space + audio probe artifacts (regenerable dumps/traces)
scratchpad/
# montage work artifact: the tiled contact sheet behind docs/img/shots/ and
# the preview video (regenerable from the same session recordings)
docs/img/shots/CONTACT-SHEET.jpg
/audiodump.raw
/audiotrace.log
/mixertrace.log
# Claude Code local state / agent worktrees
.claude/
# saved reference webpage assets (keep the .htm, not the sidecar cruft)
docs/reference/*_files/
nohup.out
gdb.txt
gdb-hang.txt
# frozen asset converter (built by CI via PyInstaller; local freezes land here)
tools_pc/dist/prepare-assets/ge007-convert*
build-pyinst/