forked from Ports/goldeneye-pc-port
0bcf5f1777377a35353d8ac1e9b18f2f6ccf3146
D86 (resolved): modelInitRwData crashed on a bad ModelNode pointer during room-triggered gameplay init. Root cause: initplayergaitobject.c did `player_gait_object_header.RootNode = (int)&player_gait_hdr;` -- a same-width pointer<->int round trip that's a no-op on N64 but truncates a real 64-bit pointer on PC, dropping the executable's load-base high bits. Fixed under #ifdef PORT by assigning the real pointer directly. Only exercised once real gameplay starts (past the intro), which is why it was never hit before D69 let the game reach stage load. D87 (resolved): once D86 stopped blocking progress, an idle (no-input) run reaches the front end's genuine attract-mode demo playback and crashes in ramrom_replay_handler. Root cause: ramromfilestructure is a real ROM-compiled asset (big-endian) loaded via romCopyAligned's raw byte copy (D66) with no byteswap, so every multi-byte field reads scrambled and drives wild pointer arithmetic in the block-buffer consumers. Fixed with a #ifdef PORT ramromFixupEndian() called once after the load (D54 cseq-fixup pattern). Both root-caused with new env-gated TEMP probes (GE_D86, GE_D87), left in place per the existing convention. D88 (per-level "Usetup*Z" stage-setup file: zero PC porting done, struct-width + endian bugs stacked) is the new next blocker, root-caused but intentionally not patched inline -- it's D69-scale format-conversion work, logged as an open finding instead. Also documents a fast, deterministic BUNKER1 repro (-level_09 command-line arg, bypasses the front end/attract-mode entirely) and a correction to the gdb guidance: attach mode (vs. launch-only) works well for watching a global's write on an already-running process. Docs: docs/PCPortResearch.md §F (D86/D87 resolved, D88 new), docs/HANDOFF.md (session K), AGENTS.md summary line. Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01C3xib6jjMV8o2iE4JfixAo
Goldeneye 007
About this repository
This is a WIP decompilation of Goldeneye 007!
It builds the following ROMs:
- ge007.u.z64
sha1: abe01e4aeb033b6c0836819f549c791b26cfde83 - ge007.j.z64
sha1: 2a5dade32f7fad6c73c659d2026994632c1b3174 - ge007.e.z64
sha1: 167c3c433dec1f1eb921736f7d53fac8cb45ee31
Note: This repository does not include all assets necessary for compiling the ROMs. A prior copy of the game is required to extract the assets.
Documentation
- Setup Guide: useful information about installing the necessary dependencies and how to use it
- Structure Guide: learn more about the project structure of this repository
- Style Guide: code style conventions if you want to contribute code
Languages
C
92.9%
C++
2.8%
Python
1.8%
Assembly
1.2%
HTML
0.4%
Other
0.7%