James Dansereau 5a5c73de56 D105: emit G_CLEAR_DEPTH_EXT — depth buffer was never cleared in-level
zbufClearCurrentPlayer (viewport.c) clears the N64 Z buffer with the
'point the colour image at the Z buffer and gDPFillRectangle it' idiom.
fast3d does not emulate that: gfx_dp_fill_rectangle bails when
color_image_address == z_buf_address assuming glClear already cleared
depth, but the frame-start clear_framebuffer(true,false) is colour-only.
fast3d expects G_CLEAR_DEPTH_EXT (0x44) for a real depth clear and GE
never emits it. Here the two addresses don't even match
(gDPSetDepthImage(z_buffer & ~0x3F) vs gDPSetColorImage(K0_TO_PHYSICAL))
so the packed-Z fill colour is scribbled onto the framebuffer instead.

Net: every in-level frame rendered against a stale/garbage depth buffer,
all ~160k room triangles failed the Z test, only skyRender's background
fill survived -> flat dark-blue screen + HUD.

PORT branch in zbufClearCurrentPlayer emits a bare G_CLEAR_DEPTH_EXT and
returns, skipping the N64 idiom (a no-op / harmful in fast3d anyway).

Verified -level_09: 90% flat sky-colour -> 2585 distinct colours, sky
16%; recognisable BUNKER1 (textured walls, storage racks, floor). 70s
crash-free. Adds GE_D104 room-render-pass probe in bg.c (gated, capped).

Remaining: dark-blue wedge (geometry gap) + brown band top third
(ceiling tex); then struct player weapon/offset pass; then D75(b).
2026-08-28 21:06:37 -04:00
2026-08-16 17:30:25 -04:00
2026-08-17 13:48:42 -04:00
2026-08-17 13:48:42 -04:00
2026-08-17 13:48:42 -04:00
2026-08-16 17:30:25 -04:00
2021-03-08 12:58:16 -06:00
2021-03-08 12:58:16 -06:00
2021-03-08 12:58:16 -06:00
2026-08-17 13:48:42 -04:00

Goldeneye 007

NTSC-Status JP-Status PAL-Status

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
S
Description
No description provided
Readme MIT
310 MiB
0 Stars 1 Watchers 0 Forks
Languages
C 92.9%
C++ 2.8%
Python 1.8%
Assembly 1.2%
HTML 0.4%
Other 0.7%