Files
goldeneye-pc-port/.gitignore
T
James Dansereau cd6cc158b6 Add PC port scaffolding (CMake build + port layer)
Initial scaffolding for a PC port of GoldenEye 007, modeled on the
Perfect Dark PC port (same Rare "Indy" engine). The N64 build
(Makefile + IDA) is untouched; the PC build is a parallel CMake build.

Build:
- CMakeLists.txt: SDL2 + zlib + OpenGL. Compiles src/game/*.c + curated
  engine files + libultra audio/gu + port/. Per-region macro sets
  (ROMID US/EU/JP) mirror the N64 Makefile's LCDEFS exactly.
- build-pc.sh, cmake/: configure+build helper and target/SDL2 modules.

Port layer (port/):
- video/audio/input/fs/romdata/config/system/mixer: stubs with
  TODO(Phase N) markers and correct interfaces.
- libultra.c: libultra OS shims (message queues, VI, PI, AI, EEPROM,
  controller, PFS/motor no-ops, region-gated osTvType).
- gesched.c: software-RSP scheduler replacing src/sched.c task submission.
- n64stubs.c: inert stubs for N64-boot + rmon symbols.
- random.c: PRNG ported verbatim from src/random.s (bit-exact).
- ucode.c: RSP/ASP/GSP microcode segment markers (dummies; Phase 3 TODO).

Docs:
- docs/PCPortResearch.md: architecture, GE-specific deltas, phased plan,
  and the scaffolding review (findings A1-A4/B1-B4/C1-C2 + resolutions).
- PORTING.md: top-level entry point.

See docs/PCPortResearch.md for the full plan.
2026-08-17 19:17:06 -04:00

120 lines
2.3 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/*
# PC port (see CMakeLists.txt / port/)
build-pc/
data/
ge007.ini
!build/test.c
!notes/StyleGuide.md
#tools
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/
scripts/__pycache__/generate_prop_model_c.cpython-310.pyc