forked from Ports/goldeneye-pc-port
dc5739bc93347ff91a3c9acd5243789d9d27b6cf
Static audit of every osSetIntMask(OS_IM_NONE) in the compiled audio code (event.c, csplayer.c, synaddplayer.c, snd.c): all balanced on every exit path, including alEvtqPostEvent's freeList-empty early return. No unbalanced same-thread leak exists -- the D152 s_imLock wedge is not a missing restore. Two real defects fixed (#ifdef PORT, N64 verbatim under #else): 1. snd.c sndSetSfxSlotVolume walked the live ALSoundState list and posted to the shared ALEventQueue without holding OS_IM_NONE, unlike its twin sndDeactivateAllSfxByFlag. On PC: unguarded walk racing amMain + one lock acquire/release per matching sound. During the mission-failed fade-out (sndSetScalerApplyVolumeAllSfxSlot -> sndApplyVolumeAllSfxSlot -> here, per frame) that is a per-frame lock-acquire storm. Now holds the mask once across the walk; sndApplyVolumeAllSfxSlot batches its slot loop under one recursive hold. 2. port/src/libultra.c: portThreadWrapper now calls imThreadExitRelease() when a host thread returns from its entry -- if it still owns s_imHeld, release the orphan (+ LOG_ERROR). Kills the 'transient thread acquired OS_IM_NONE and exited' leak (the §F dump's own alternate hypothesis) and the re-wedge when a new thread reuses the dead pthread id and imAcquire mis-detects recursion. Steal-lock kept as backstop. Build 240/240 green; -level_09 frame 300 renders 91.7% non-clear crash-free; -level_20 boots crash-free. Fade-out repro is playtest-gated (not headless- reproducible) -- user to confirm no black screen + no D152: log lines.
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%