This is a working Goldeneye 007 decompilation!
This repo builds a matching USA. JPN or (currently broken PAL ROM).
This repo does not include all assets necessary for compiling the ROMs. A prior copy of the game is required to extract the assets.
The only requirements for Ubuntu 16.04+ should be
sudo apt install binutils-mips-linux-gnu makeIf you don't have host development tools already installed then you will also need
sudo apt install build-essentialAdditionally qemu-irix is needed
Install the package after download:
sudo dpkg -i qemu-irix-2.11.0-2169-g32ab296eef_amd64.debMake sure you cloned the repo with git otherwise it won't build!!
Place an unmodified USA rom in project root named
baserom.u.z64followed by
./extract_baserom.u.sh && makeor
./extract_baserom.u.sh /path_to/rom.n64 && make
# Example (Rom located on EverDrive):
./extract_baserom.u.sh /mnt/e/Goldeneye.n64 && makeFor J support also place a baserom.j.z64 in root and run:
./extract_baserom.u.sh && ./extract_diff.j.sh && make VERSION=JPIf you are upgrading from an old repo, run:
./clean_baserom.sh && ./extract_baserom.u.sh && make clean && makeThe extract and clean scripts support switches:
name_baserom.sh files
name_baserom.sh imagesto do just one or the other, default is both
Run make to build the ROM (defaults to VERSION=us). Other examples:
make VERSION=jp -j4 # build (J) version instead with 4 jobs
make VERSION=eu COMPARE=0 # build (EU) version but do not compare ROM hashesResulting artifacts can be found in the build directory.
The full list of configurable variables are listed below, with the default being the first listed:
VERSION: us, jp, eu
goldeneye_src
|-- Workflows: GitHub use only
├── assets: game assets
│ ├── font: font data
│ ├── images: image data
│ │ └── split: split image data
│ ├── music: music data
│ ├── obseg: animation data
│ │ ├── bg: bg data
│ │ ├── brief: briefing data
│ │ ├── chr: c model data
│ │ ├── gun: g model data
│ │ ├── prop: p model data
│ │ ├── setup: setup data
│ │ ├── stan: stan data
│ │ └── text: text data
│ └── ramrom: demo data
├── bin: files that haven't been touched
├── build: output directory
├── include: header files
├── rsp: Custom GBI code (Assembly) (C0 and 4Tri)
├── src: C source code for game
│ ├── game: core ge specific code 0x7f000000 range
│ ├── libultra: currently used libultra.s
│ └── inflate: statically linked initial decompression code
└── tools: build tools
Documentation has been moved to https://github.com/kholdfuzion/goldeneye_docs/tree/master/notes
Style Guide is https://github.com/kholdfuzion/goldeneye_docs/tree/master/notes/StyleGuide.txt
This decompilation was only made possible thanks to many awesome 00 Agents who will be revealed only if they wish.
GE and PD documentation made by Zoinkity