forked from Ports/goldeneye-pc-port
ad220f4e3db4ad50795c32b64bac2bbd0576ecaf
BUNKER1's portal-visibility BFS (sub_GAME_7F0B7F84 -> sub_GAME_7F0B5864) projects each candidate portal polygon to a screen-space bbox. When the player straddles a portal's plane, sub_GAME_7F0B5528 emits z==0 near-plane clip points; transform3Dto2DWithZScaling then uses inv_z = -1e20, sending those points to +/-1e20-scale screen coords. On N64 the two clip points bracket the view symmetrically, so the degenerate-box check (bg.c:1713) or the downstream screensize clamp yields a full-screen box and the room is kept. On x86 the exact garbage can come back min>max on a single axis (or non-finite), slipping past that check -> the portal is dropped and the room the player is walking toward vanishes, showing skyRender's background fill through the doorway. Fix: #ifdef PORT, treat any wildly out-of-range / non-finite projected bound as degenerate -> full screensize (matches the N64 outcome). Verified -level_09: per-frame visible-room count 1-3 -> 2-4; rooms beyond near doorways (r11 from r27, etc.) now render. Reworks the GE_D104 probe to dump the per-frame visible-room list (gated, capped). Residual (separate): a bounded central sky gap + a blurry grey wall/ ceiling texture remain in the storage rooms — a dropped-poly / texture- dimension issue in the D85 room GDL path, not visibility.
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%