mirror of
https://github.com/jkdansereau/goldeneye-pc-port.git
synced 2026-10-23 15:52:42 +02:00
Public-copy language pass, homepage restructure and Documentation rename, 404 page, dead-anchor and permalink fixes, release-gate sign-off, and the pre-release review fixes of the 2026-10-05 batch (probe-doc drift, build-path hygiene, verify.sh and capture safety). Refs: D533 D534
60 KiB
60 KiB
| 1 | # GENERATED by tools_pc/gen_findings_index.py -- do not hand-edit. | |||
|---|---|---|---|---|
| 2 | # Grep this to pick which findings.md entries to read; it is not authoritative. | |||
| 3 | label | bucket | one_liner | status_raw |
| 4 | D24-D30 | RESOLVED | green threads / kernel / crash handler | resolved |
| 5 | D31-D42 | RESOLVED | boot ABI: ANIM_DATA, music seq-table, libaudio banks, Globalimagetable rebase, GL context, rsp toggle | resolved |
| 6 | D43-D50 | RESOLVED | model-file loading → offline sidecar "Plan B" (d43_emit.py); D50.6 texCopyGdls full-slot copy | resolved |
| 7 | D51-D58 | RESOLVED | font pixeldata, osGetCount tick rate, model RW pools, cseq BE header, synth slots, RLE menu bg, watch raw offsets, gun-barrel DL | resolved |
| 8 | D59-D68 | RESOLVED | intro render: blood-RLE clobber, DMA validate, OSMesgQueue, HEADS/BODIES sentinels, romCopy width, image_entry, Globalimagetable BE→LE | resolved |
| 9 | D70-D74 | RESOLVED | intro-logo pixels: C-array bswap, UV path, sinf/cosf DVAL(), texture-import truncation | resolved |
| 10 | D75 | FIXED | front-end 3D model transforms (D77 audio split out below — | FIXED 2026-10-02 (branch fix/fidelity-gaps; by-eye check owed): |
| 11 | D76 · D164 | FIXED | Legal screen only draws line 1 — | FIXED — this row and the ## D164 entry below were stale; the proposed one-line #ifdef PORT fix was actually committed 8dfc578f4 (2026-08-31), well before this correction (2026-09-18). |
| 12 | D159 | FIXED | front-end wallet-Bond photo "interlaced"/combed (RC1 / D149) — | FIXED (#ifdef PORT no-op the swap in image.c) |
| 13 | D161 | FIXED | Depot (-level_30) ceiling = bright-blue speckle + radial rays (B2). | FIXED (port/fast3d/gfx_pc.cpp) |
| 14 | D165 · D166 | FIXED | Input-layer polish (M-31, port-only): | FIXED |
| 15 | D180 · D181 | FIXED | Native-PC input pass (QoL run): | FIXED (2026-09-26 bookkeeping: |
| 16 | D186 | CLOSED | Video.FpsCap throttles the sim, not just presentation (M-39 diag, M-42 clamp). | CLOSED (2026-09-28 bookkeeping: |
| 17 | D187 | FIXED | HUD ammo-type/weapon icon vanished at -O2 (M-46 root-cause, M-47 fix + verify). | FIXED (src/game/gunfire.c, #ifdef AVOID_UB); PR #19 |
| 18 | D188 | FIXED | Linux -O2 boot crash: | FIXED (src/libultrare/libc/xprintf.c, src/sprintf.c, #ifdef PORT); PR #22 |
| 19 | D189 | FIXED | Linux -fstack-protector aborts on the decomp's latent stack-buffer overruns (M-48) — | FIXED (CMakeLists.txt, src/game/stan.c #ifdef PORT); PR #23 |
| 20 | D190 | CLOSED | Linux -level_45 SIGSEGV at load in add_ptr_to_objective (objective.c:64) (M-48, open). | CLOSED — not a port bug; level 45 is MP-only and has no solo setup file in the ROM (root-caused M-105, reproduced on Windows). |
| 21 | D191 | FIXED | Windows -O2 release-bundle crash: | FIXED + PLAYTEST-VERIFIED (M-79).… |
| 22 | D193 | FIXED | NPC AI locomotion is too slow — | FIXED + user-playtest-verified (M-81) —… |
| 23 | D194 | FIXED | Mouse input needs another tuning pass — | FIXED (2026-09-26: user reports the v0.3.0→v0.4.0 mouse changes feel solid and glitch-free; code-side validation owed). |
| 24 | D195 | FIXED | Transparency / alpha surfaces broken on Control (M-49, user playtest) — | FIXED (port/fast3d/gfx_pc.cpp, gfx_sp_vertex) —… |
| 25 | D197 | CLOSED | Character face/head textures wrap around the head, seen on Silo (M-49, user playtest). | CLOSED — user playtest v0.2.0-pre |
| 26 | D198 | FIXED | alAdpcmPull/_decodeChunk used K0_TO_PHYS (an unconditional & 0x1FFFFFFF mask) on 64-bit heap pointers (src/libultra/audio/load.c). | FIXED (src/libultra/audio/load.c) — |
| 27 | D199 | FIXED | Phase-3 software audio mixer: | FIXED (2026-09-26 bookkeeping: |
| 28 | D200 | FIXED | -level_09 segfault: reverb's ALDelay.input/output are u32 — | FIXED — 5-line cast in reverb.c (this session) |
| 29 | D196 | FIXED | OS mouse cursor stays visible after closing the F10 options overlay in click-to-lock mode (M-49, user playtest). | FIXED (6e758f1d, merged to main) —… |
| 30 | D192 | CLOSED | Front-end mission/level-select grid pointer still can't reach the outer cells — | CLOSED — the buggy mode 0 was removed entirely in the v0.2.0 prep pass (see D239); click-to-lock is now the only capture mode, so the unreachable-cells path no longer exists |
| 31 | D221 | FIXED | SELECT FILE mouse hit-box offset — | FIXED (M-91) — explicit {min,max} coord2d pairs under #ifdef PORT; human mouse-playtest confirmed. |
| 32 | D222 | FIXED | High Video.FovScale breaks culling — | FIXED, awaiting visual verification (M-121). |
| 33 | D223 | FIXED | QoL ask: mouse-wheel weapon cycling should be directional like a normal PC shooter — | FIXED (M-105, port/src/input.c) —… |
| 34 | D224 | CLOSED | QoL gap (M-87, from a PD-PC-port survey): | CLOSED (2026-09-28 bookkeeping: |
| 35 | D225 | FIXED | Dev-tooling QoL (M-87, user ask): | FIXED (2026-09-18) — GE_DEBUG_UNLOCKALL=1 short-circuits fileGetIsCheatUnlocked() (src/game/file2.c, #ifdef PORT, cached getenv) to always return TRUE; default off, no save mutation. |
| 36 | D226 | FIXED | QoL ask: player-adjustable HUD scale for the ammo counter, bottom-left pickup/item status text, and top-of-screen dialogue/subtitle text. | FIXED (2026-09-24): Game.HudScale 75–150% (user-verified, capped at 150) via fast3d G_HUDSCALE_EXT rect scaling about per-element anchors; dialogue/bottom messages width-capped. |
| 37 | D227 | FIXED | Sky renders as two independently-moving halves — | FIXED (M-100b, PR #43) — |
| 38 | D229 | FIXED | IsWater-level water renders green, pulses blue<->green (M-101; Frigate -level_26). | FIXED (port-layer) — ZLIB+CI8 water image now imports via the CI8 palette path (gfx_pc.cpp); Frigate verified live ("looks better"); sweep + Surface 2 by-eye still owed. |
| 39 | D230 | FIXED | In-level music quality: | FIXED (M-121, v0.2.0) — |
| 40 | D231 | CLOSED | QoL batch: mute-on-focus-loss + screenshot-hotkey productization (M-105, roadmap Tier 3, port-only). | CLOSED — PARKED/DEPRIORITIZED (user, 2026-09-25). |
| 41 | D233 | FIXED | All levels (intermittent): | FIXED (port/fast3d/gfx_pc.cpp, gfx_sp_tri1) —… |
| 42 | D234 | FIXED | Dam: guard towers along the dam structure invisible except the first one (M-106, user QA report). | VISUALLY VERIFIED FIXED (M-108) —… |
| 43 | D244 | OPEN | Self-hosted CI runner (corpyvt6agent01) link failure: | OPEN, not yet fixed. Next… |
| 44 | D228 | FIXED | AK47 white missing-texture patches after D217's texpool fix — | FIXED (port/fast3d/gfx_pc.cpp, palette_to_rgba32) — |
| 45 | D204 | FIXED | PC audio ran ~2 % below real time permanently (AI feedback loop's 3 ms setpoint vs PC jitter). | FIXED (port/src/audio.c, port/src/libultra.c, port/include/audio.h) — |
| 46 | D203 | CLOSED | Steam Deck (SteamOS, x86_64 Linux) v0.1.0 release bundle: | CLOSED — root cause + fix in D253. |
| 47 | D201 | FIXED | src/libultra/audio/bnkf.c bank/instrument/sound/wavetable relocation offsets were s32, truncating the real 64-bit base pointer. | FIXED (src/libultra/audio/bnkf.c) — |
| 48 | D202 | FIXED | Silenced PPK "slap" + broader real-time mixer corruption (M-52→M-67). | FIXED (2026-09-26, user by-ear: |
| 49 | D206 | FIXED | PC played every SFX one bank slot too high — | FIXED (M-76, src/snd.c:1001, #ifdef PORT) — |
| 50 | D207 | CLOSED | Alarm klaxon starves combat SFX and doesn't recover after it stops (surfaced by D206, M-77). | CLOSED (2026-09-28 bookkeeping: |
| 51 | D208 | FIXED | Player weapon-fire sound goes permanently silent mid-firefight (all other SFX unaffected) — | FIXED + user playtest-verified (M-78d) — |
| 52 | D209 | FIXED | Every AI character in the game is locked to a *walk* animation regardless of the speed the ailist commands — | FIXED + user-playtest-verified (M-81). |
| 53 | D210 | FIXED | chrToPatrol() leaves act_patrol.lastvisible60 uninitialised on PC — | FIXED (chraction.c:3872, #ifdef PORT → self->act_patrol.lastvisible60 = -1;, N64 line under #else).… |
| 54 | D205 | CLOSED | PC plays wrong/extra SFX for gameplay events (gunfire slap layer, explosion→scream, armour pickup, melee→Klobb idx 106) — | CLOSED (M-78) — root cause was D206; all four symptoms resolved + user-confirmed by ear. |
| 55 | D152+ | FIXED | D152 addendum (M-31): | FIXED (src/snd.c, port/src/libultra.c, #ifdef PORT) — |
| 56 | D168 | FIXED | GE_PCDUMP / F12 PPM captures were vertically flipped — | FIXED (port/fast3d/gfx_opengl.cpp); D114 / D116 reclassified as capture-orientation artifacts (below). |
| 57 | D169 | FIXED | Front-end mouse pointer can't reach the outer cells of the mission/level-select grid — | FIXED (M-33, port/src/input.c, port-only, no #ifdef PORT). |
| 58 | D178 | FIXED | Pre-mission briefing screen: | FIXED (M-36) — high confidence |
| 59 | D175 | CLOSED | In-game stutter / brief hang during normal play — | CLOSED (v0.4.0 campaign sign-off 2026-09-28, user: |
| 60 | D176 | FIXED | Surface exterior renders wrong (-level_36), two independent defects. | FIXED (2026-09-29 bookkeeping: |
| 61 | D177 | FIXED | Ladders non-functional — | FIXED (M-36) — high confidence; interactive climb test owed Owed climb test considered cleared by the 2026-09-28 v0.4.0 campaign sign-off (ROADMAP §3 bookkeeping, 2026-10-01); reopen if seen. |
| 62 | D172 | FIXED | Bullet-impact / blood / spark particles render magenta or cyan instead of dark red (M-82, ROOT CAUSE FOUND + FIXED). | FIXED (port/fast3d/gfx_pc.cpp gfx_lod_tile_offset)… |
| 63 | D174 | CLOSED | "No blood effect" (user QA report). | CLOSED — faithful (2026-09-26, user side-by-side on 1964: |
| 64 | D183 | CLOSED | M-36 Family A ("texture line/pitch shear") is DISPROVEN for the Surface repro (-level_36). | CLOSED (2026-09-26, user-approved: |
| 65 | D173 | PARTIAL | Third-person Bond model spawns too high — | PARTIAL (2026-09-29 bookkeeping: |
| 66 | D179 | FIXED | Packaged build crashes after the logos — | Diagnosed, not fixed — |
| 67 | D180 | FIXED | Native-PC input pass (M-XX QoL run, qol/native-pc-input-menu, port-only). | FIXED (2026-09-26 bookkeeping: |
| 68 | D181 | FIXED | Game.ScreenShakeIntensity — | FIXED (2026-09-26 bookkeeping: |
| 69 | D184 | FIXED | F10 port-layer options overlay — | FIXED (2026-09-26 bookkeeping: |
| 70 | D211 | FIXED | PC FOV slider — Video.FovScale (M-83 QoL wave, port-only, WIDESCREEN-FOV-PLAN.md Phase 4). | FIXED (2026-09-26 bookkeeping: |
| 71 | D212 | FIXED | Anisotropic-filtering config wiring — | FIXED (2026-09-26 bookkeeping: |
| 72 | D213 | FIXED | On-screen FPS readout — | FIXED (2026-09-26 bookkeeping: |
| 73 | D214 | FIXED | Keyboard rebinding — [Input.Bind] config section (M-83, port-only, PD parity, Phase 4 debt). | FIXED (2026-09-26 bookkeeping: |
| 74 | D215 | FIXED | 1P weapon viewmodel never drew in-level — | FIXED (src/game/gunfire.c, #ifdef PORT). |
| 75 | D216 | FIXED | Game.SkipIntro — boot straight to the file-select menu (M-83, port + one #ifdef PORT game-code line, PD parity, Phase 4 quick win). | FIXED (2026-09-26 bookkeeping: |
| 76 | D217 | FIXED | 1P weapon viewmodel + 3P Bond model textures garbled — | FIXED + merged (PR #47 + PR #49); white residual split out as D228. |
| 77 | D218 | FIXED | Wide FOV exposes the per-level draw-distance / fog boundary — | FIXED (2026-09-26 reclassified; 2026-09-29 default corrected: |
| 78 | D219 | RESOLVED | PPK explosions render purple on Dam (M-87, user QA, "not 3D but noting"). | RESOLVED (M-115, 2026-09-12) for the original PPK-purple symptom. |
| 79 | D220 | CLOSED | 1P muzzle flash position shifts upward at higher Video.FovScale (M-87, user QA, Jungle/M16). | CLOSED — merged into D303 (2026-09-26, user: |
| 80 | D85 | CLOSED | Room primary/secondary DL → texLoadFromGdl garbage. | CLOSED (2026-09-26, user-approved: |
| 81 | D86 · D87 | RESOLVED | modelInitRwData truncated ptr · attract-demo BE ramromfilestructure. | resolved |
| 82 | D88.4 | RESOLVED | propDefs polymorphic record stream not byteswapped → setupDoor crash. | resolved (d88_propdefs.py); layout audit M-20 → D132 |
| 83 | D132 | CLOSED | D88 propDefs layout audit (M-20): | CLOSED (2026-09-28 bookkeeping: |
| 84 | D157 | FIXED | Campaign never unlocks the next level (M-30, user bug — | FIXED (src/bondtypes.h, #ifdef PORT —… |
| 85 | D160 | FIXED | Dam level-end cutscene (Bond off the dam / bungee) never plays — | FIXED (user, 2026-09-26: |
| 86 | D89-D92 | RESOLVED | stage-load→frame: stan zero-fill overrun, portal address trunc, chr/AI spawn ptrs | resolved |
| 87 | D93-D102 | RESOLVED | struct-pun / hardcoded-size pass: | resolved (D95 pool bump partial) |
| 88 | D103-D107 | RESOLVED | BUNKER1 viewport height, depth-buffer clear (G_CLEAR_DEPTH_EXT), portal near-plane, LOD mip tile | resolved |
| 89 | D108-D112 | RESOLVED | skeletal models: d43_emit.py put_f32 byte-reversal bug | resolved |
| 90 | D113-D116 | FIXED | portal BFS ok · matrix chain ok · player raw-offset audit + gunfire.c THROW* · HUD text X-mirror | D114/D116 CLOSED — NOT A BUG (M-33, see D168): |
| 91 | D117 | CLOSED | Frame nondeterminism root-caused; GE_DETERM attempted, not achieved. | CLOSED (2026-09-28 bookkeeping: |
| 92 | D118 | RESOLVED | SDL input layer; M-24 mouse-look rework (mode-aware map, real INI); D118b/c FIXED. | resolved (D118a residual) |
| 93 | D150 | FIXED | watch OBJECTIVES / BRIEF page crash: | FIXED (src/str.c #ifdef PORT); interactive re-verify pending Owed re-verify considered cleared by the 2026-09-28 v0.4.0 campaign sign-off (ROADMAP §3 bookkeeping, 2026-10-01); reopen if seen. |
| 94 | D260-D265 | CLOSED | v0.2.1 hotfix batch: D260 wheel direction swap (fixed) · D261 watch-menu nav auto-repeat (fixed, feel-check owed) · D262 watch item-preview model missing → roo… | CLOSED (2026-09-26 bookkeeping: |
| 95 | D266-D269 | CLOSED | D236/D265 wall, second pass: | CLOSED (2026-09-26 bookkeeping: |
| 96 | D270 | CLOSED | Backfilled (M-132) — this label was never given its own row; only code comments and the HANDOFF archive documented it. | CLOSED (2026-09-26 bookkeeping: |
| 97 | D271 | CLOSED | D236 wall, third pass — | CLOSED (2026-09-29 bookkeeping: |
| 98 | D276 | CLOSED | D236 wall, eighth pass — | CLOSED (2026-09-26 bookkeeping: |
| 99 | D279 | CLOSED | Backfilled — this label was consumed by an undocumented partial session (2026-09-14 ~23:00) that left artifacts in scratch/ (d279_run.log… — | CLOSED (2026-09-26 bookkeeping: |
| 100 | D281 | FIXED | Game.AllUnlocked (D257) still breaks audio, and can also break right-mouse aim, when enabled before any save has ever been written (v0.2.1 user testing… — | FIXED (2026-09-23, port/src/libultra.c): |
| 101 | D282 | FIXED | QoL ask (v0.2.1 user testing, 2026-09-15): | FIXED (port/src/input.c, #ifdef not needed — |
| 102 | D283 | FIXED | Steam Deck first-run preset (D-unnumbered in port/src/video.c/main.c, videoApplySteamOSDefaults()) did not apply for a user who added the game via Steam… — | FIXED (2026-09-30, port-only) — |
| 103 | D280 | CLOSED | D236 wall, ninth pass — | CLOSED (2026-09-26 bookkeeping: |
| 104 | D275 | CLOSED | D236 wall, eighth pass — | CLOSED (2026-09-26 bookkeeping: |
| 105 | D274 | CLOSED | D236 wall, seventh pass — | CLOSED (2026-09-26 bookkeeping: |
| 106 | D273 | CLOSED | D236 wall, fifth pass — | CLOSED (2026-09-26 bookkeeping: |
| 107 | D272 | CLOSED | D236 wall, fourth pass — | CLOSED (2026-09-26 bookkeeping: |
| 108 | D137 | FIXED | right-mouse (aim-sight) crash: | FIXED (src/game/gunfire.c #ifdef PORT — |
| 109 | D119 · D120 | FIXED | guard-attack weapons_held[]->chr pun crash · blood-stain PointUsage[] chain hang | D119 fixed · D120 FIXED (M-30) |
| 110 | D120 | FIXED | Blood-decal PointUsage[] chain — | FIXED (tools_pc/d43_emit.py). |
| 111 | D121 | RESOLVED | WS1 frictionless per-level boot (bare -level_XX injects its -m* row). | resolved |
| 112 | D122 | FIXED | per-level prop/item model-load crash (Dam/Facility/Runway modelLoad/modelInitRwData): | converter fixed; residual chr/fast3d crashes on those levels are separate |
| 113 | D123 | FIXED | crash class C1: chrIsNotDeadOrShot NULL deref on 6 levels (Dam/Runway/Frigate/Statue/Streets/Cradle). | converter fixed (OBJ_ID_WORDS); C1 cleared on all 6, residual crashes are fast3d (C2) |
| 114 | D125 | RESOLVED | crash classes C3+C6 (Aztec/Bunker2/Surface2): | resolved (M-16b) — line 374 → 8 NULs; all 21 sidecars regen'd; Aztec -level_28 now PASSES (was C3 CRASH). |
| 115 | D126 | RESOLVED | crash classes C3r/C4/C6 (Bunker2 -level_27 door7F054FB4 propobj.c:13523, Depot -level_30 prop.c:902, Surface2 -level_43 loadobjectmodel.c:393): | resolved — d88_propdefs.py PROPDEF_PC_BYTES[30/32/33/35]=24 + typed handler; loadobjectmodel.c sizepropdef PORT returns 6. |
| 116 | D124 | FIXED | crash class C2: fast3d bad texture pointer. | Jungle fixed (port/src/gimgfixup.c); Facility → D130 |
| 117 | D131 | RESOLVED | crash class C2m (Jungle -level_37): | resolved — seg_addr() restores the module high word for any fallthrough w1 in [0x40000000, 0x70000000) (module fixed-based at 0x140000000, no ASLR; DRAM/KSEG0/segmented/phys all handled earlier).… |
| 118 | D133 | RESOLVED | intro render triage (M-20): | RESOLVED — not a regression, parked (D75/D76, GRAPHICS-BACKLOG.md) |
| 119 | D134 | FIXED | Frame-2 boot hang / sweep "NO-FRAMES" flakiness — | FIXED (port/src/libultra.c) |
| 120 | D135 | FIXED | Firefight crash — bgTestHitOnObj (propobj.c:8446) is an unported N64 GBI parser (M-22, WS6 playtest). | FIXED (src/game/propobj.c, #ifdef PORT —… |
| 121 | D136 | RESOLVED | Stage-unload crash — objFree obj->prop reads float garbage (M-22, WS6 Facility playthrough). | ROOT-CAUSED → D139 (it was NOT a layout bug — |
| 122 | D139 | FIXED | Stage-unload crash root cause + fix (M-23). | FIXED (src/game/cleanup_objects.c, #ifdef PORT —… |
| 123 | D140 | FIXED | Pause-menu crash (M-23 open → M-27 fixed). | FIXED (src/game/bondview.h, src/game/bondview2.c; #ifdef PORT). |
| 124 | D141 | FIXED | Watch-menu item-model crash (M-27), exposed by D140. | FIXED (src/game/gunfire.c, #ifdef PORT). |
| 125 | D152 | FIXED | Mission-failed / objective-failed → permanent black screen (M-28, user bug report — | FIXED (user, 2026-09-26: |
| 126 | D154 | CLOSED | bg.c room-geometry ray/hit-test GBI parser port (M-28, WRITTEN / UNVERIFIED / UNCOMMITTED). | CLOSED (2026-09-28 bookkeeping: |
| 127 | D156 | FIXED | Facility outro-cutscene "hang" — | FIXED (user, 2026-09-26: |
| 128 | D155 | FIXED | Facility outro-cutscene end → "hang" = unclamped deltaFrames spiral (M-29, user bug report). | FIXED (src/game/frametiming.c, #ifdef PORT —… |
| 129 | D153 | RESOLVED | -level_09 frame ~900–1400 0xc0000005 = D117/D134 load flakiness, NOT a bug (M-28). | NOT A BUG — closed. Run anchors on a quiet machine. |
| 130 | D151 | FIXED | Watch data all blank — | FIXED (src/bondtypes.h, #ifdef PORT —… |
| 131 | D130 | RESOLVED | crash class C2 (Facility -level_34, Runway -level_35): | resolved — stage all 6 N64 fields in a local f[6] before writing any. |
| 132 | D164 | FIXED | Disclaimer / legal screen only draws the first line (D76 root cause, M-31). | FIXED — corrected 2026-09-18: |
| 133 | D165 | FIXED | Front-end menu cursor doesn't feel like a mouse pointer (M-31, user bug B5 follow-up). | FIXED (port/src/input.c; Input.MenuPointerMode, Input.HipfirePitchSpeed added). |
| 134 | D166 | FIXED | Hipfire mouse pitch is digital while yaw is analog — | FIXED (port/src/input.c).… |
| 135 | D235 | CLOSED | Wrong textures load after dying/restarting a level — | CLOSED (user, 2026-09-26: |
| 136 | D236 | CLOSED | Surface 1: 2D billboard trees render as a wall/sheet of tree texture instead of discrete camera-facing tree sprites (M-106, user QA report). | CLOSED (M-198, pass 26, 425237f9; probes stripped 0503d335): |
| 137 | D237 | FIXED | QoL ask (M-106, user QA): | FIXED (2026-09-23): category headers + 5 more settings (SkipIntro, Show FPS, pad invert/deadzone/trigger); wheel scroll already existed. |
| 138 | D238 | FIXED | QoL ask (M-106, user QA): | FIXED (2026-09-26: covered by D337/D338 aim work; user reports mouse feel good; code-side validation owed). |
| 139 | D239 | CLOSED | QoL ask (M-106, user QA): | CLOSED — executed in the v0.2.0 prep pass (port-only)… |
| 140 | D240 | CLOSED | Player gunshot SFX timing/cadence reportedly does not match the N64 original's rate (M-106, user QA report). | CLOSED (v0.4.0 campaign sign-off 2026-09-28, user: |
| 141 | D241 | CLOSED | Player gunshot SFX goes silent under some conditions — | CLOSED as the D207 family (v0.4.0 campaign sign-off 2026-09-28, user: |
| 142 | D242 | FIXED | Player-death sequence UX regression vs N64 original: | FIXED/CLOSED (2026-09-26, user: |
| 143 | D243 | FIXED | Dam end-of-level cutscene (the abseil/bungee sequence, D148/D160's subject): | FIXED, live-confirmed by the user (M-189/M-190, 2026-09-18). |
| 144 | D245 | FIXED | IsWater water: two competing patterns with a visible seam that moves as the player looks around (mouse/aim) — | FIXED (M-201, 2026-09-26, user-verified vs 1964): |
| 145 | D246 | FIXED | Tiny pixel strips at the left and right edges of the screen, "like overscan" — | FIXED (2026-09-18 session, port-only, Video.SafeAreaCrop). |
| 146 | D247 | FIXED | Black bars top and bottom of screen — | FIXED (2026-09-18 session, port-only, Video.SafeAreaCrop). |
| 147 | D248 | FIXED | Port runs a stable 30 FPS instead of 60 FPS game-wide (M-117, user asked to verify FPS after the D209 timing-keystone fixes). | FIXED, root-caused to a genuine pointer-width ABI bug in src/sched.c (compiled for the PC build, not excluded). |
| 148 | D249 | CLOSED | LOD/culling breaks down on large open levels (Streets, Egyptian named specifically) at *default* FOV — | CLOSED (2026-09-28 bookkeeping: |
| 149 | D250 | FIXED | FPS is inconsistent/low on many levels after 60 Hz shipped (M-119, user QA; D248 follow-on). | FIXED — per-call getenv() cost was the bottleneck; rock-steady 60-61 fps after, user re-tested 1440p/4K clean. |
| 150 | D251 | FIXED | F10 options overlay QoL pass: | FIXED (port-only, port/src/optionsoverlay.c). |
| 151 | D252 | FIXED | Particle effects cycle through a rainbow palette (M-124, user playtest of the v0.2.0-pre candidate). | FIXED (M-201, 2026-09-26, user-verified): |
| 152 | D253 | FIXED | Facility (and any level with a FORCECROUCH/LADDER linked special tile) SIGSEGV on Linux/Steam Deck — | FIXED — Deck-verified: |
| 153 | D254 | FIXED | Linux crash handler destroyed its own logs: | FIXED — field-verified. |
| 154 | D255 | FIXED | Facility firefight SIGSEGV on Steam Deck (v0.2.0-pre CI bundle; D253 fix confirmed working). | FIXED (M-140) — D3x-class 32-bit pointer truncation (vtxstore_fix_refs read Model* through the mistyped ChrRecord.chrflags 4-byte-enum alias instead of ObjectRecord.model), not the destroy-path race… |
| 155 | D256 | FIXED | Saves (and config) silently failed to persist on Linux whenever the game was not launched from the directory containing data/ — | FIXED (path half) — save-flow detail still owed from the user. |
| 156 | D257 | FIXED | New Game.AllUnlocked option (F10; default flipped OFF for v0.2.0 — | FIXED — verified by user playtest (PR #79 merged); default flipped OFF for v0.2.0 (D259). |
| 157 | D259 | FIXED | Game.AllUnlocked (D257) breaks audio on a fresh save: | FIXED in v0.2.1 —… |
| 158 | D260 | FIXED | v0.2.1 (user request): | FIXED — build green; one-line branch swap, trivially reviewable. |
| 159 | D261 | FIXED | v0.2.1 (user request: | FIXED — feel-check received; W/S sensitivity follow-up logged above. |
| 160 | D262 | FIXED | v0.2.1 (user report): | FIXED (primary cause, D264) — |
| 161 | D264 | FIXED | D262's root cause (ABI/layout class, cf. | FIXED — build green, probes removed; visual confirmation pending. |
| 162 | D263 | RESOLVED | v0.2.1 (user report): | RESOLVED (not a bug), refined (v0.2.1 further user testing, 2026-09-15). |
| 163 | D265 | CLOSED | D236 investigation (port-layer, port/fast3d/gfx_pc.cpp): | CLOSED (2026-09-26 bookkeeping: |
| 164 | D258 | DEFERRED | PAL/JP asset conversion is broken at the source-data level — | DEFERRED (user call 2026-09-28: |
| 165 | D284 | FIXED | port/src/random.c's MIPS64 dsll32/dsrl32 shift helpers were backwards — | FIXED, 21-level sweep clean, no crashes — |
| 166 | D285 | FIXED | Steam Deck SIGSEGV during D255 live-testing = SEPARATE bug: | FIXED (user, 2026-09-26: |
| 167 | D286 | CLOSED | User-confirmed real ~8s frame freeze on Caverns, Steam Deck — | CLOSED (2026-09-26, user-approved: |
| 168 | D287 | FIXED | User-confirmed real, non-self-recovering freeze on Windows (M-141, 2026-09-15/16) after ~15-20 minutes with no input, triggered by clicking back into the… — | FIXED (user playtest 2026-09-26: |
| 169 | D288 | CLOSED | Silo intro: a huge, flat-shaded, untextured brown/tan triangle sweeps across the frame during the camera pan down the missile shaft (M-141, user report —… — | CLOSED — not reproduced on the current build (2026-09-23 capture) and the 2026-09-25 user Silo playtest confirms it gone ("silo fixed"). |
| 170 | D289 | FIXED | Dam: a crash in the computer room, not reproducible on a second attempt (M-141, Steam Deck user playtest). | FIXED (user, 2026-09-26: |
| 171 | D290 | FIXED | Watch's in-game "controller" section shows no control-pad graphic (M-141, Steam Deck user playtest). | FIXED (2026-09-23): D264-pattern template read in watchRenderController (flags read 0), plus 3 pointer-width/raw-Gfx sites on the same path; controller model verified rendering on Windows. |
| 172 | D291 | CLOSED | Dam: texture glitches when the truck drives past (M-141, Steam Deck user playtest). | CLOSED — duplicate of D306, faithful (M-201, 2026-09-26: |
| 173 | D292 | FIXED | Death animations are glitched — | MOSTLY FIXED as a side effect of D243 (2026-09-18, user-confirmed alongside D173) — |
| 174 | D293 | FIXED | QoL ask: no discoverable way to quit the game from the UI (M-141, Steam Deck user playtest — | FIXED (M-141) — "Quit to desktop" row added to the F10 overlay; build-verified Win+Linux, not yet live-confirmed.… |
| 175 | D294 | PARTIAL | Statue: ground geometry near the large CCCP/hammer-and-sickle monument briefly renders solid black over a wide area, then self-recovers 10-30 seconds later… — | PARTIAL -> fix landed pending by-eye check (2026-10-03: |
| 176 | D295 | FIXED | Campaign-halting crash at the end of Control Center on 00 Agent difficulty, then a crash on every subsequent relaunch/resume (GitHub #87, user campaign playtes… | FIXED (M-149) — M-148 root-caused + reproduced on HEAD; fix landed: |
| 177 | D296 | CLOSED | Control Center, 00 Agent: | CLOSED (2026-09-26, user-approved: |
| 178 | D297 | FIXED | v0.3.0 silently wipes ALL pre-fix player saves on first launch (D284 side effect; found during D295/M-148). | FIXED (M-150) — migration shim landed: |
| 179 | D298 | CLOSED | Full HUD (not just the aim-mode crosshair) missing in a v0.3.0 dev build — | CLOSED (2026-09-26, user: |
| 180 | D299 | FIXED | Game.SkipIntro crashed selecting any save slot except one — | FIXED — fileValidateSaves() (only called from the skipped legal screen) never ran under SkipIntro, leaving saves[] all-zero; added the missing call to the SkipIntro shortcut (src/game/lv.c, #ifdef PO… |
| 181 | D300 | FIXED | Hipfire look feels non-uniform (issue #89): | FIXED, user-confirmed live — |
| 182 | D301 | FIXED | fileGetIsCheatUnlocked() NULL-deref, unguarded on every call site, not just the D299/SkipIntro one (GitHub #87, two reports with an identical crash PC/fault ad… | FIXED locally on release/v0.3.0 (not pushed) — |
| 183 | D302 | FIXED | Render FPS regression to ~40-45fps on release/v0.3.0 (user QA on the local v0.3.0 pre-release build, 2026-09-18) — | FIXED — 4 uncached getenv() calls added by D236 passes 10/12/14/16 directly inside gfx_sp_tri1 (port/fast3d/gfx_pc.cpp, per-triangle) cached with the same static int x = -1 pattern D250 established e… |
| 184 | D303 | FIXED | Some muzzle flashes (M16 named specifically, "and some others") draw wrong — | FIXED (M-201, 2026-09-26): |
| 185 | D304 | FIXED | Mouse sensitivity menu overhaul (user request, 2026-09-18): | FIXED — see full entry for both the range/parity pass and the same-day follow-up (collapsed to a single Input.MouseSensitivity menu row + fixed overlayUpdateScroll()'s unconditional bottom-anchor, th… |
| 186 | D305 | FIXED | Steam Deck SIGSEGV on the v0.3.0 pre-release build (Cavern, early in the level, Game.AllUnlocked previously enabled on the session/save) — | FIXED (defensive guard) — |
| 187 | D306 | CLOSED | Dam intro/truck wheels render with odd transparent-looking areas, possibly z-fighting (user QA, 2026-09-18). | CLOSED — faithful, confirmed on 1964 (M-201): |
| 188 | D307 | FIXED | In-level security camera entities can be flipped facing the wrong direction (backwards) on some levels, e.g. | FIXED (M-201, 2026-09-26, user-verified): |
| 189 | D308 | CLOSED | Occasional z-fighting confirmed on some levels' geometry, general/broader than the D306 truck-wheel instance (user QA, 2026-09-18). | CLOSED — faithful (2026-09-26, user: |
| 190 | D309 | FIXED | Complete non-self-recovering freeze (Windows) returning from Caverns to the intro screen — | FIXED via D310 — user-playtest-confirmed 2026-09-18 (Caverns→intro clean; the spin record itself observed resuming correctly in the post-fix probe log). |
| 191 | D310 | FIXED | RULE-2-SIGNOFF: chraiitemsize() mis-sizes 1-byte AI_PRINT records (NUL-scans forward), corrupting AI execution for any list containing an active PRINT — | FIXED — user-playtest-confirmed 2026-09-18 (v2: |
| 192 | D311 | FIXED | Complete freeze in modelSetAnimFrame2WithChrStuff root-motion loop — | FIXED — root cause D336 (bheadAdjustAnimation read never-written placeholder fields); the #ifdef PORT guard is retained as a safety net. |
| 193 | D312 | FIXED | Throwable items (mines, grenades, etc.) can clip through walls in certain spots (user report, v0.3.0 pre-release playtest, 2026-09-18). | FIXED — bgBuildRoomVtxBounds mis-reads the G_VTX vertex count on PC (Gfx_le.dma.par bit-layout shift): |
| 194 | D313 | FIXED | Bullet impacts do not appear on some walls/surfaces — | FIXED — same root cause as D312, merged diagnosis; same one-line fix. |
| 195 | D314 | FIXED | F10 menu items flicker randomly/intermittently (reported on the main-menu context, user report, v0.3.0 playtest build, 2026-09-18). | FIXED (user playtest 2026-09-26) — |
| 196 | D315 | CLOSED | Menu scaling differs between main menu and in-game — | CLOSED (2026-09-26, user: |
| 197 | D316 | FIXED | Mouse-clicking some menu items glitches and lands on the item below instead (user report, v0.3.0 playtest build, 2026-09-18). | FIXED — root-caused to two compounding bugs (naive mouse->logical mapping ignoring the safe-area crop; asymmetric row hit-test band) in port/src/optionsoverlay.c + port/fast3d/gfx_pc.cpp. |
| 198 | D317 | CLOSED | Crash when toggling Game.AllUnlocked back and forth in-game (user report, v0.3.0 playtest build, 2026-09-18) — | CLOSED — symptom of D316 (confirmed instant window close, no WER report; the D316 hit-band bias let a click on "All unlocked" fall through to the adjacent "Quit to desktop" row). |
| 199 | D318 | FIXED | Facility (regular play path): | FIXED via D329 (2026-09-26 bookkeeping: |
| 200 | D319 | FIXED | Frame cap slider was mostly a dead zone; replaced with a plain 30/60 toggle (user ask, 2026-09-18). | FIXED — new ROW_FPSCAP cycle (30/60 only) in port/src/optionsoverlay.c; default changed to 60 in port/src/video.c. |
| 201 | D320 | FIXED | D318-class sweep: aim-hold → _update AI lists in 8 levels carry the same as-authored softlock race (static analysis, 2026-09-20). | FIXED via D329 (2026-09-26 bookkeeping: |
| 202 | D321 | FIXED | D318 trigger chain fully mapped: | FIXED via D329 (2026-09-26 bookkeeping: |
| 203 | D322 | FIXED | Long-session audio degradation: | FIXED (Windows) for the periodic "garbled" bursts — |
| 204 | D323 | CLOSED | G_TL_LOD bindings of explicit-LOD textures: | CLOSED — parked as a fidelity enhancement, not a bug (2026-09-26, user-approved: |
| 205 | D324 | FIXED | GE's <stdlib.h> stub declares nothing, so TUs that include it get NO CRT prototypes — | FIXED (2026-09-22) — proven impact: |
| 206 | D325 | CLOSED | ROM-mod (xdelta) compatibility: | CLOSED as a question — |
| 207 | D326 | CLOSED | Random Eye randomizer repacks the ROM too — | CLOSED as a question — |
| 208 | D327 | RESOLVED | Mod support, resolved plan: | RESOLVED — superseded by D328; approach (a) is NOT ruled out (these scans missed the 1172-compressed data segment). |
| 209 | D328 | CLOSED | Mod support is viable and D327's "ruled out" was wrong: | CLOSED as a question — |
| 210 | D329 | FIXED | The D318/D320 guard anim pin is a tick-granularity divergence: | FIXED — Rule-2 high-FPS fix in model.c; clk=1 no longer pins (WSL + native Windows), 0 triggers at clk=2; bunker1 golden failure predates it (on/off A/B); user playtest confirms N64-matching Ourumov… |
| 211 | D330 | FIXED | #103 (v0.3.0, Win 11): | FIXED (port/src/input.c) — |
| 212 | D331 | FIXED | Ejected shell casings never rendered on PC: | FIXED (gunfire.c #ifdef PORT, explicit template); PP7 casing verified on native Windows (before: |
| 213 | D332 | FIXED | Reticule jitter in aim mode (RMB) — | FIXED (fix/mouse-pd-model) — |
| 214 | D333 | FIXED | #104 (v0.3.0, Linux): | FIXED (2026-09-26 bookkeeping: |
| 215 | D334 | FIXED | Native widescreen, world side (WIDESCREEN-FOV-PLAN Option B Phase 2): | FIXED (2026-09-26 bookkeeping: |
| 216 | D335 | FIXED | Native widescreen, HUD + front end (WIDESCREEN-FOV-PLAN Phase 3): | FIXED (2026-09-26 bookkeeping: |
| 217 | D336 | FIXED | Frigate (and any level) "all polygons break except the gun" after turning: | FIXED (src/game/bondhead.c #ifdef PORT, ABI/layout); headless repro (Runway → exit → Frigate → turn, D294 2× room pool) clean, D156 0 fires; golden 3/3; Win + Linux builds. |
| 218 | D337 | FIXED | Aim modes folded (user decision): | FIXED (2026-09-26 bookkeeping: |
| 219 | D338 | FIXED | Input.AimRange (F10 "Aim range"): | FIXED (2026-09-26 bookkeeping: |
| 220 | D339 | OPEN | #92 (low-end ~30 fps, Celeron N3060 / HD 400) — | OPEN (2026-09-26, user: |
| 221 | D341 | FIXED | Intro gun-barrel blood drip draws as static blocks/lines instead of dripping (user, v0.4.0, 2026-09-26; death blood fine). | FIXED (M-201, user-verified 2026-09-27): |
| 222 | D342 | FIXED | File select: folder bodies and Bond photos vanish after selecting a file and backing out (user, v0.4.0, 2026-09-26). | FIXED (M-201, user-verified): |
| 223 | D343 | FIXED | File select: PC "Options" label opens the settings overlay (v0.4.0 feature, M1 of the route-B options screen, 2026-09-27); also fixes F10 on file select jumpin… | FIXED (M1, closed): one Rule-2 #ifdef PORT draw hook (user sign-off 2026-09-27); headless + user-verified (mouse, F10, >30 s, widescreen, physical controller on the bottom-bar label and options scree… |
| 224 | D344 | FIXED | Host PC bugchecks (BSOD 0x119 VIDEO_SCHEDULER_INTERNAL_ERROR) during game test runs; probable cause: | FIXED (probable cause; orderly quit + GE_QUITFRAME), headless + user-verified; no dump, watch for recurrence. |
| 225 | D345 | FIXED | Front-end crosshair snaps away from the pointer on screen/page changes (file select → mode select setCursorPOSforMode(0), front.c:2516; every MENU_PC_OPTIONS p… | Port-only, user-verified (parts a–g): |
| 226 | D346 | CLOSED | PC-settings wording pass: | CLOSED (2026-09-28). Shipped in v0.4.0; accepted in the user's final review / campaign playtest. |
| 227 | D347 | FIXED | F10 overlay controller: | FIXED (port-only, optionsoverlay.c): |
| 228 | D348 | CLOSED | File-select "PC Options" label: | CLOSED (2026-09-28 bookkeeping: |
| 229 | D349 | CLOSED | GE watch settings ARE saved to the Bond file when the watch closes: | SUPERSEDED (2026-10-04, P2b correction): |
| 230 | D350 | CLOSED | Watch-backed PC options: | CLOSED (2026-09-28). Shipped in v0.4.0; accepted in the user's final review / campaign playtest. |
| 231 | D351 | FIXED | Existing D346 value/unit rows had positional initializers shifted into hidePtr: | FIXED (port-only): designated row initializers restore unit, deadzone divisor and hide-if-auto fields; build clean, headless smoke clean. |
| 232 | D352 | FIXED | D350 review of 1303c0eb: | FIXED (port-only, port/src/watchsettings.c): |
| 233 | D353 | FIXED | Turok-style settings regrouping: | FIXED (port-only, optionsoverlay.c/frontoptions.c): |
| 234 | D354 | FIXED | Front-end F10 Bond rows silently disabled: | FIXED (port-only, port/src/watchsettings.c): |
| 235 | D355 | FIXED | F10/options Music slider inaudible in-stage: | FIXED (port-only, port/src/watchsettings.c): |
| 236 | D356 | FIXED | Settings regroup: Turok-style pages renamed to functional sections (INPUT/GAMEPLAY/GRAPHICS/AUDIO/VIDEO) with PD-style "(File N)" scoping annotations, the redu… | FIXED (port-only, port/src/optionsoverlay.{h,c} + port/src/watchsettings.{h,c} + port/src/frontoptions.c; plan docs/dev/D356-SETTINGS-REGROUP-PLAN.md): |
| 237 | D358 | FIXED | D356 level-1 overlap: | FIXED (port-only, port/src/frontoptions.c): |
| 238 | D359 | CLOSED | Settings UI file terminology settled on the end-user term "Profile": | CLOSED (2026-09-28). Shipped in v0.4.0; accepted in the user's final review / campaign playtest. |
| 239 | D360 | CLOSED | F10 INPUT heading scrolled away; F10 navigation and distance defaults (2026-09-27). | CLOSED (2026-09-28). Shipped in v0.4.0; accepted in the user's final review / campaign playtest. |
| 240 | D361 | FIXED | Main-menu F10 Audio freezes the game: | FIXED (port-only, port/src/watchsettings.c + F10 probe in optionsoverlay.c): |
| 241 | D362 | CLOSED | F10 GoldenEye dossier-style visual refresh (2026-09-27). | CLOSED (superseded by D363 after user playtest): |
| 242 | D363 | FIXED | F10 return to a dark overlay with the N64 watch's green/Bank Gothic visual language (2026-09-27). | FIXED (palette/font user-approved, 2026-09-27); D364 follows up on profile tags, click alignment and slider calibration. |
| 243 | D364 | FIXED | Settings UI feedback: | FIXED (user mostly accepted; D365 follows up on annotation size and click targets). |
| 244 | D365 | CLOSED | F10 annotation hierarchy and visible mouse change targets (2026-09-27). | CLOSED (2026-09-28). Shipped in v0.4.0; accepted in the user's final review / campaign playtest. |
| 245 | D366 | CLOSED | Input calibration label: | CLOSED (2026-09-28). Shipped in v0.4.0; accepted in the user's final review / campaign playtest. |
| 246 | D367 | CLOSED | F10 full-width control boxes misaligned with their contents (2026-09-27). | CLOSED (2026-09-28 bookkeeping: |
| 247 | D368 | CLOSED | Simplify F10 click targets: | CLOSED (2026-09-28 bookkeeping: |
| 248 | D369 | FIXED | Remove F10 row boxes/strips entirely (2026-09-27). | FIXED (awaiting live acceptance): |
| 249 | D370 | CLOSED | F10 distance/volume drags hurt frame rate (2026-09-27). | CLOSED (2026-09-28). Shipped in v0.4.0; accepted in the user's final review / campaign playtest. |
| 250 | D371 | FIXED | GEPD key-layout preset + reload/crouch bindings, v0.4.0 modern options wave M3 (2026-09-27). | FIXED (headless-verified; awaiting user live accept): |
| 251 | D372 | FIXED | Low-end perf preset (v0.4.0 modern options wave M5, 2026-09-27). | FIXED (headless-verified; awaiting user live accept): |
| 252 | D373 | FIXED | In-game crosshair on/off + colour (v0.4.0 modern options wave M2, 2026-09-27). | FIXED (user live-tested; rule-2 sign-off recorded 2026-09-27): |
| 253 | D374 | FIXED | GEPD becomes the default key layout; preset layering fix (v0.4.0 M3 playtest feedback, 2026-09-27). | FIXED (headless + user live-tested): |
| 254 | D375 | CLOSED | Crouch wired to the wrong pad bit: | CLOSED (2026-09-28). Shipped in v0.4.0; accepted in the user's final review / campaign playtest. |
| 255 | D376 | CLOSED | Crouch follow-up + modern-options spot check (2026-09-27). | CLOSED (2026-09-28). Shipped in v0.4.0; accepted in the user's final review / campaign playtest. |
| 256 | D377 | FIXED | GEPD independent crouch (2026-09-27). | FIXED (2026-09-28 bookkeeping: |
| 257 | D378 | FIXED | GEPD use/reload separation (2026-09-27). | FIXED (2026-09-28 bookkeeping: |
| 258 | D379 | FIXED | Crosshair colour: authored texture is red (2026-09-27). | FIXED (2026-09-28 bookkeeping: |
| 259 | D380 | FIXED | One PC keyboard layout; PD-style rebind design (2026-09-27). | FIXED (follow-up D383): |
| 260 | D381 | CLOSED | RULE-2-SIGNOFF: opt-in RGB, size and Beta crosshair (2026-09-27). | CLOSED (2026-09-28). Shipped in v0.4.0; accepted in the user's final review / campaign playtest. |
| 261 | D382 | CLOSED | Crosshair menu placement and slider hitches (2026-09-27). | CLOSED (2026-09-28). Shipped in v0.4.0; accepted in the user's final review / campaign playtest. |
| 262 | D383 | CLOSED | PD-style keyboard rebinding in both options UIs (2026-09-27). | CLOSED (2026-09-28 bookkeeping: |
| 263 | D384 | CLOSED | Front PC Options key-bind navigation feedback + two-slot UI (2026-09-27). | CLOSED (2026-09-28). Shipped in v0.4.0; accepted in the user's final review / campaign playtest. |
| 264 | D385 | CLOSED | Real mouse 1–5 action rebinding in the two-slot editor (2026-09-27). | CLOSED (2026-09-28). Shipped in v0.4.0; accepted in the user's final review / campaign playtest. |
| 265 | D386 | CLOSED | Correct Aim default from SDL middle (Mouse 2) to right (Mouse 3) (2026-09-27). | CLOSED (2026-09-28). Shipped in v0.4.0; accepted in the user's final review / campaign playtest. |
| 266 | D387 | FIXED | M7 AllUnlocked's read-time fake unlocks leak into saved EEPROM (2026-09-27). | FIXED 2026-09-30 (port-only per-slot raw/seen merge on EEPROM write, libultra.c geD387MergeSlotWrite; isolated ON-vs-OFF byte-identity matrix passed). |
| 267 | D388 | CLOSED | Nest functional binding/HUD menus and remove redundant M5 toggle (2026-09-27). | CLOSED (2026-09-28). Shipped in v0.4.0; accepted in the user's final review / campaign playtest. |
| 268 | D389 | CLOSED | F10 footer clipping and ambiguous submenu links (2026-09-27). | CLOSED (2026-09-28). Shipped in v0.4.0; accepted in the user's final review / campaign playtest. |
| 269 | D390 | CLOSED | F10 pinned Back selection did not visibly change (2026-09-27). | CLOSED (2026-09-28). Shipped in v0.4.0; accepted in the user's final review / campaign playtest. |
| 270 | D391 | CLOSED | F10 click at glyph bottom could select next row (2026-09-27). | CLOSED (2026-09-28). Shipped in v0.4.0; accepted in the user's final review / campaign playtest. |
| 271 | D392 | FIXED | Train intro soldier hunched; hand intersects torso vs 1964 — | FIXED (#ifdef PORT ABI/layout in chraction.c); Train aim-angle probe confirms correction; user visually verified the soldier looks fixed against 1964. |
| 272 | D393 | FIXED | Controller B/Y both crouch; no in-game use button — | FIXED + user live-tested A use / X reload / Y weapon cycle. |
| 273 | D394 | PARTIAL | Xbox 1.1 Jinx controller parity — | PARTIAL (2026-09-28). |
| 274 | D395 | RESOLVED | Controller trapped in keyboard/mouse-only binding capture — | RESOLVED (v0.4.0 campaign sign-off 2026-09-28, user: |
| 275 | D396 | RESOLVED | F10 pad B/A used as slider decrement/increment, not back/select — | RESOLVED (v0.4.0 campaign sign-off 2026-09-28, user: |
| 276 | D397 | RESOLVED | SELECT FILE background + intro gun-barrel show an interlaced/comb look — | RESOLVED (2026-09-28): |
| 277 | D398 | CLOSED | PC Options label: D348's procedural slider glyph replaced with an existing mainfolderimages texture (2026-09-27). | SUPERSEDED by D400 (icon removed, text-only label; purple-hover bug moot; the D400 textMeasure arg-swap bug was found and fixed there). |
| 278 | D399 | CLOSED | File-select bottom row (SELECT FILE text + Copy/Erase + PC Options dot/label) shifted 15px left as a block (user sign-off 2026-09-27). | CLOSED (2026-09-28 bookkeeping: |
| 279 | D400 | CLOSED | File-select "PC Options" label: | CLOSED (2026-09-28 bookkeeping: |
| 280 | D401 | CLOSED | Rumble Pak → real gamepad haptics (re-promotes D224/M-87): | CLOSED (2026-09-28). Rumble shipped in v0.4.0 (D401); Steam Deck real-pad validation: |
| 281 | D402 | RESOLVED | First clean Linux (glibc / SteamOS) build of release/v0.4.0 broke in two port-layer include-resolution spots MinGW tolerated (bondconstants.h first-include cyc… | RESOLVED (Linux/Ubuntu-24.04 build → glibc-2.41-compatible binary for the Steam Deck): |
| 282 | D403 | RESOLVED | Deck v0.4.0-pre test: | RESOLVED (2026-09-27, user-confirmed on the Deck: |
| 283 | D404 | RESOLVED | "Aim style: Centred (PC)" (Input.AimMode=1, D333/D337) has no effect when aiming with a gamepad; the row's own doc comment over-promises ("applies to every aim… | RESOLVED (2026-09-28, port-layer only): |
| 284 | D405 | CLOSED | fast3d/OpenGL: MSAA above the driver max black-screens; two glBindFramebuffer calls pass an index where a GL name is required (PR #106, italoarruda, 2026-09-25… | CLOSED (2026-09-28). Merged from PR #106 (code file only; security-reviewed clean - port-layer GL state fixes, no external input, no allocations). |
| 285 | D406 | RESOLVED | front-end PC Options screen: | RESOLVED (2026-09-28, port-layer only, Steam Deck-validated): |
| 286 | D407 | CLOSED | Tanks cannot be boarded/exited on PC — | CLOSED (2026-09-28 bookkeeping: |
| 287 | D408 | FIXED | Game.SkipIntro skips the post-mission failure dossier: | FIXED 2026-09-30 (SkipIntro hook gated to first boot; live dossier check owed). |
| 288 | D415 | FIXED | Shooting a light fixture does not "kill" its flickering light (Bunker, Caverns): | FIXED (2026-09-29 bookkeeping: |
| 289 | D416 | RESOLVED | 2-player split-screen crashes (issue #99, v0.3.0 4827bc8, fault addr 0xa43a0ed4, PC 0x14009e758): | RESOLVED in-harness (converter + D417 + D418 fix the 2P crash and split-screen flicker; 18/18 2P/3P/4P x 6-stage load runs clean; live pad play still owed). |
| 290 | D417 | RESOLVED | enum PROP unsigned on GCC: | RESOLVED (src/bondconstants.h PROP__PORT_SIGNED = -1, D3/D142 precedent; Rule-2 review owed). |
| 291 | D418 | RESOLVED | Split-screen: fast3d safe-area crop stretched the last-set (half-height) viewport over the whole window, so each player's view filled the screen and the last-d… | RESOLVED (gfx_set_split_screen, port-only). |
| 292 | D419 | RESOLVED | Split-screen input shared between players / P1 lost solo controls: | RESOLVED (per-slot slotPlayer(), port-only; no current-player swaps from the poll thread; live-tested OK). |
| 293 | D420 | FIXED | MP score / stats screen shows an odd big number (issue #99) — | FIXED 2026-10-01 (mp/virtual-seats); 2P/3P/4P watch-menu runs show 0s. |
| 294 | D421 | CLOSED | Gadget cycling (pad B / gadget key) disabled in 2+ player matches — | CLOSED 2026-10-01: moot, no MP inventory holds a gadget (mp_weapon.c); hook reviewed + reverted. |
| 295 | D422 | FIXED | P2+ have no centred-aim mode in split-screen (single-slot aim state) — | FIXED in tree (commit ac92e0ab: |
| 296 | D423 | CLOSED | Unidentified black arrowhead in P2's split-screen view (stage 38) — | CLOSED 2026-10-01: faithful (level shadow at a doorway top), maintainer-confirmed live. |
| 297 | D424 | FIXED | WeaponStats.RecoilSpeed/b44[] byte order: | FIXED in tree (WS_B44, port-guarded); user-verified vs GEPD/1964 2026-09-29. |
| 298 | D425 | FIXED | Tank run-over death sound loops: | FIXED (2026-09-29 bookkeeping: |
| 299 | D426 | RESOLVED | Tank cannot be steered with the mouse out of aim mode (issue #116). | RESOLVED (user 2026-09-29: |
| 300 | D427 | FIXED | Automatic fire cadence is frame-counted, ~2-3x faster than N64 at 60 fps (issue #114). | FIXED in tree (modulus scaled by ticks/frame; measured 6 ticks/shot at 30 and 60 cap); user-verified vs GEPD/1964 2026-09-29 (AK47 mag empties in ~3 s, Klobb normal). |
| 301 | D428 | FIXED | No gun turn-sway with direct mouse look (issue #117). | FIXED in tree (2nd pass: |
| 302 | D429 | CLOSED | Tank full pass: aim-mode (RMB) mouse behaviour and tank sticking forward/back (follow-up to D426). | CLOSED faithful (user 2026-09-29: |
| 303 | D430 | FIXED | Shot light fixtures do not go dark: | FIXED in tree (D154-style words.w0/.w1 decode); user-verified vs GEPD/1964 on Caverns 2026-09-29. |
| 304 | D431 | FIXED | Light fixtures never reached lightFixtureBreak on PC: | FIXED in tree (fixture table records the image id; bg.c hit code looks it up; free-slot guard); user-verified vs GEPD/1964 2026-09-29. |
| 305 | D432 | FIXED | Gunshot sounds "off" after D427: | FIXED in tree (gate offset rounded to odd at 1 tick/frame); measured shot/sound cadence identical to N64 rules; residual audible difference vs 1964 tracked as D433. |
| 306 | D433 | OPEN | Slight audible difference in automatic-gun shot sound vs GEPD/1964 after cadence was matched (user by-ear, Caverns). | OPEN (not a timing issue; audio layer suspected). |
| 307 | D434 | FIXED | Raw ((u8*)&g_Textures[n])[0] & 0xf hit-type reads are wrong on PC; latent OOB once D431 returned real texture ids (found by sub-agent review). | FIXED (.hitTexture at 3 sites, port-guarded); live check owed. |
| 308 | D440 | FIXED | "Original N64" / "Port defaults" one-press presets in the F10 overlay and front-end PC Options (+ -n64preset/-portpreset). | FIXED (port-only; headless-verified; user live accept owed). |
| 309 | D441 | PARTIAL | 64-bit pointer-width sweep (part 1): | PARTIAL (census + GE_HIGHARENA_BASE tier-1 build + 35 sites fixed + CI ratchet, 2026-10-03; tier-1 all-level sweep 21/21 PASS, 0 crashes, 2026-10-05; the above-4-GiB tier still owed). |
| 310 | D442 | FIXED | Game.AllUnlocked reworked into a pure RAM/query-time override: | FIXED; verified 2026-10-03 headless (mission select all 20 / only real progress when OFF, full cheat menu, eep byte-identical). |
| 311 | D443 | FIXED | D357 settings-display cleanup (mouse ×, whole-% deadzone and volume steps, FOV in horizontal degrees, MSAA 16×) plus a "Restart game" action (orderly D344 quit… | FIXED (port-only; reset probes pass; both-UI visual check and one Restart click owed; Linux relaunch path not compiled). |
| 312 | D454 | FIXED | Knife slash crashed on Windows: | FIXED (verified by maintainer live: |
| 313 | D461 | FIXED | Item-slot allocation overran into the next stage-bank block: | FIXED (maintainer-verified: |
| 314 | D462 | FIXED | vtxstore.c sized its two record tables with the N64 stride 0x14 for a 24-byte struct unk_09B7A0_struct_parent on PC (Vertex* unk00 widened); both are indexed a… | FIXED (build + solo -level_09 and 4P GE_STARTMP=4 smoke runs exit clean; no crash; by-eye owed in solo). |
| 315 | D444 | FIXED | Front-end PC Options: | FIXED (build-verified; human mouse test owed) |
| 316 | D455 | FIXED | Binary-first census of exe-static addresses truncated to 32 bits (D454 class) (2026-09-30). | FIXED/CLEAN (no further REAL site beyond D454) |
| 317 | D447 | FIXED | Pillarbox output mode (Video.AspectMode = Original) for the Original N64 preset; crop overscan no longer cancels Wide/Cinema. | FIXED (build + 3 captures verified; Wide/Cinema, 16:9 Ratio, mouse and 1964 comparison owed to a human) |
| 318 | D445 | FIXED | Crouched-rifle firing animation (crouched_rifle_firing_animation_groupA) never resolved on PC -> SIGSEGV in modelConstrainOrWrapAnimFrame when an MP player cro… | FIXED — layout only (§D5 linker adjacency, D164 class): |
| 319 | D446 | FIXED | Couch 2P watch-menu text (the MP pause page) differs by +-1-2 per channel between builds whose only difference is data layout (2026-09-29). | FIXED — port-only (fast3d): |
| 320 | D448 | PARTIAL | Split-screen pad seats: | PARTIAL (committed 918ac5f9 on feat/mp-splitscreen-99, build + 2P smoke OK; plug/unplug behaviour not exercised at runtime). |
| 321 | D456 | ? | Font-pointer / text-string-pointer slots retyped from s32 to real pointers (ABI/layout exception; front.c, options.c, language.c, bondview*, mpmenu.c, propobj.… | |
| 322 | D457 | ? | 64-bit ABI retypes part 2: | |
| 323 | D453 | ? | memp allocator API made 64-bit clean (D441 step 0; ABI/layout exception, §A1). | 2026-09-30 |
| 324 | D451 | FIXED | Automatic-fire gate at unsteady frame rates (D427 follow-up) and D173 residual. | FIXED (RULE-2-SIGNOFF, maintainer 2026-09-30: |
| 325 | D463 | FIXED | fast3d divided by zero (0xc0000094) importing a texture for a zero-area TextureRectangle on a tile with line = 0: | FIXED (port-layer guard in import_texture; 8 repeats of the crashing config + the 18-run sweep + solo -level_09 + menu boot all rc=0 with no crash; the guard fired in 3 of 8 repeats). |
| 326 | D464 | PARTIAL | GE_MEMPREDZONE=1: 64-byte red-zone checker for the memp bump allocator (all banks), side table + checks at level unload / every 60 frames / orderly quit; re-in… | TOOL LANDED (local, feat/memp-redzone); MP sweep owed. |
| 327 | D465 | FIXED | #127 Dam/Caverns/Complex water slid side to side: | FIXED 2026-10-01 (fix/d465-water-primlod, local); rate measured = N64; maintainer by-eye on Dam: |
| 328 | D466 | FIXED | #125 Xenia's boss fight on Jungle triggers early: | FIXED 2026-10-01 (fix/d466-drawdist-gameplay, local); RULE-2-SIGNOFF (port-feature leak fix; design-review approval); verified headless (room sets, on-screen counts), player-facing shot/autoaim/use/p… |
| 329 | D467 | CLOSED | #130 Golden Gun empty click with each shot: | CLOSED: faithful by code + log (audited 2026-10-01; by-ear check of held-trigger behaviour vs 1964 is maintainer-owned) |
| 330 | D468 | FIXED | AI view clamp: under ultrawide (> 16:9) or Video.FovScale > 100 the AI's on-screen tests used the wider rendered frustum; they now keep the cartridge-widest vi… | FIXED 2026-10-01 (feat/d468-ai-view-clamp, local); RULE-2-SIGNOFF (policy approved by the maintainer 2026-10-01); verified headless (clamp on/off switching + falsifier). |
| 331 | D469 | FIXED | Gamepad presets + per-seat controller rebinding (ROADMAP 5a; supersedes outside PR #109): | FIXED 2026-10-01 (merged into release/v0.4.1, local); preset 0 == old mapping proven (20,971,520 cases); live pad test owed (maintainer); Jinx 1.2/1.3 undefined (gap) |
| 332 | D470 | FIXED | Audio master volume + output-device selection (ROADMAP 5a): | FIXED (live listening test owed) |
| 333 | D471 | FIXED | Controller-family button names (no glyphs) in the PC menus + player-index LEDs: | FIXED 2026-10-01 (local); headless captures for Xbox/PS/Nintendo; live PS/Nintendo pad check owed |
| 334 | D472 | FIXED | F10 overlay polish: multi-pad ownership (audit G1-G3), widescreen pillarbox (D335b), red EXPERIMENTAL rows, unknown-ini-key warning. | FIXED 2026-10-01 (merged; port-only, no src/game). |
| 335 | D473 | FIXED | Uncached getenv("GE_D75V") on every G_VTX: | FIXED 2026-10-01 (local); Statue display-list CPU about -55% in steady windows |
| 336 | D474 | FIXED | fast3d micro-optimisations: | FIXED 2026-10-01 (local); output-identical by construction; measured gain on the dev machine within noise |
| 337 | D475 | OPEN | Statue/Cradle hitches diagnosed: | OPEN (diagnosed 2026-10-01): |
| 338 | D476 | FIXED | CI4 textures keyed on their own 16-entry palette bank instead of the whole 256-entry table (D217 hash): | FIXED 2026-10-02 (local); Statue sweep CI4 cache misses 189 -> 36 |
| 339 | D477 | ? | CI8 palette re-imports measured and ruled out as a CPU-side hitch cause: | MEASURED 2026-10-02 (local); premise of the D475/D476 follow-up refuted on the dev box; GPU/driver-side cost unmeasured |
| 340 | D478 | FIXED | D441 read-side census re-run (319 warnings, 129 outside the chr.c D34 initialisers) triaged against the current tree: | FIXED 2026-10-02 (local; snprintf bound); census triage recorded, Stage B items listed |
| 341 | D479 | FIXED | Split-screen GE_STARTMP harness hid the ammo counter: | FIXED 2026-10-02 (local); harness-only, 2P frame shows the counter in both halves |
| 342 | D480 | FIXED | Shader pre-warm: every created shader pair (shader_id0, shader_id1) is remembered in $S/ge007.shaders and compiled at the first frame of the next session, so a… | FIXED 2026-10-02 (local, perf/shader-prewarm); output-identical (menu frame exact), 0 in-play compiles on the warm run |
| 343 | D481 | FIXED | Low-end ~45/30 fps (#92): | FIXED 2026-10-02 (local, perf/render-worker); X220 (HD 3000) 44-46 -> 60.0 fps, GE_RENDERINLINE=1 falsifier restores 45.9 |
| 344 | D482 | FIXED | Lighter first-launch defaults on Atom/Celeron-class GPUs (#92 follow-up): | FIXED 2026-10-02 (local, perf/lowend-defaults); X220 forced-path: |
| 345 | D483 | FIXED | #136: the PC crouch key stood Bond up when he switched to the sniper rifle; the N64 keeps the stance (the weapon's DISABLE_CROUCH flag blocks both crouch-down… | FIXED 2026-10-02 (local, fix/d483-sniper); scripted crouch -> switch -> release keeps SQUAT |
| 346 | D484 | FIXED | #136: portScaleFovY's 20-degree floor raised the game's own zoom FOVs, capping sniper/camera magnification at 20 degrees instead of the N64's 7 (about a third… | FIXED 2026-10-02 (local, fix/d483-sniper, maintainer-approved 2026-10-02); full zoom renders at 7 degrees, normal views pixel-identical |
| 347 | D485 | FIXED | #136: sniper/camera zoom stepped once per game frame with no tick scaling, so at the port's 1 tick/frame it zoomed 2x faster in real time than the N64 at 2 tic… | FIXED 2026-10-02 (local, fix/d483-sniper); 15 -> 7 takes 16 frames at 60 fps (was 8) = the N64 at 30 fps |
| 348 | D486 | FIXED | #126: explosions dropped in heavy firefights (turrets on Cradle/Egypt/Aztec): | FIXED (a)(c)(d); drops + (b) faithful, closed. |
| 349 | D487 | FIXED | PAL: the in-level ammo counter was not drawn (only a small dot where the "7 / 93" counter should be) — | FIXED; maintainer PAL play check 2026-10-02: |
| 350 | D488 | FIXED | PAL build reported the Brazilian MPAL TV type instead of PAL (osTvType) — | FIXED |
| 351 | D489 | FIXED | FPS dropped sharply while adjusting F10 watch sliders (music/FX) with a pad or arrow keys: | FIXED 2026-10-02 (port-only UI layer, fix/d489-pad-slider-commit, merged into release/v0.4.1 2026-10-03); maintainer pad check passed 2026-10-03 |
| 352 | D490 | FIXED | Dam first-tower guard walked a small circle: | FIXED 2026-10-02 (fix/d490-glass-hull, merged into release/v0.4.1 2026-10-03); maintainer by-eye Dam check passed 2026-10-02 |
| 353 | D491 | FIXED | Struct reads across separately-declared adjacent globals (the D5/D215 class), found by the D24 overflow audit: | FIXED 2026-10-03 (fix/d491-adjacent-global-reads, local); builds clean, 900-frame -level_09 smoke clean; no by-eye effect expected beyond room-membership-driven behaviour |
| 354 | D492 | CLOSED | Emulator .eep saves are not drop-in compatible: | CLOSED (converter shipped 2026-10-04: |
| 355 | D493 | FIXED | Pad rumble kept going after quitting the game: | FIXED 2026-10-03, maintainer-verified in play (DualSense; Original-mode edges incl. |
| 356 | D494 | FIXED | Sniper rifle: the PC crouch key now crouches/stands freely with a disable-crouch weapon (GEPD parity), never injecting C-down for it; supersedes D483's stance… | FIXED 2026-10-03, maintainer-verified in play |
| 357 | D495 | FIXED | Tank: with the default pad preset X changed the tank weapon and Y left it, because in-tank faces fell back to the fixed menu faces; PadMapCtx.tank routes Next/… | FIXED 2026-10-03, maintainer-verified in play |
| 358 | D496 | FIXED | 3P/4P split-screen: weapon-pickup messages garbled and oversized — | FIXED 2026-10-03 (condensed 3+P text is faithful, maintainer-confirmed) |
| 359 | D497 | FIXED | PC Options paging now matches the game's dossiers: | FIXED 2026-10-03, maintainer-verified in play |
| 360 | D498 | FIXED | Xbox 1.2 Christmas / 1.3 Frost / 1.4 Elektra gamepad presets: | FIXED 2026-10-03, maintainer-verified with a pad |
| 361 | D499 | FIXED | Trilinear texture filter option: | FIXED 2026-10-03, maintainer-checked (no visible difference; kept) |
| 362 | D500 | FIXED | Aztec shuttle area: polygons "fell apart"; the per-frame vtx pool (dyn.c, no bounds check, Aztec -mvtx40) could overrun into the half the render worker draws;… | FIXED 2026-10-03, maintainer-verified at the Aztec spot |
| 363 | D501 | CLOSED | Ultrawide 16:9 pillarbox for cutscenes and the watch: | CLOSED (reverted 31ade91f) |
| 364 | D502 | FIXED | PC Options pad navigation: | FIXED 2026-10-03, maintainer-verified with a pad |
| 365 | D503 | PARTIAL | Surface: near-full-fog silhouettes on 32-bit output (fog snap applied); the remaining Surface dish is the widescreen frustum, 4:3 matches N64 — | FIX LANDED (by-eye pass owed) |
| 366 | D504 | FIXED | F10 / PC Options menu: | FIXED (port-only; by-eye pass vs the PD port owed) |
| 367 | D505 | FIXED | Menu wording pass: 27 maintainer-approved text edits across both PC options UIs — | FIXED (port-only; by-eye pass owed) |
| 368 | D506 | FIXED | Menu slider values standardized: | FIXED (port-only; by-eye pass owed) |
| 369 | D507 | FIXED | Menu: one-line description of the focused option in both PC options UIs — | FIXED (by-eye pass owed) |
| 370 | D508 | FIXED | Forced aspect ratios: | FIXED (by-eye pass owed) |
| 371 | D509 | FIXED | Held frames after an aspect-ratio change: | FIXED (by-eye pass owed) |
| 372 | D510 | FIXED | F10 overlay + FPS counter the same on-screen size on the front end and in a level — | FIXED (live check owed) |
| 373 | D511 | OPEN | Four PD-parity settings: | DONE headless (live checks owed) |
| 374 | D512 | OPEN | Game.HudScale also scales the F10 overlay and FPS counter — | DONE headless (live check owed) |
| 375 | D513 | OPEN | Input.ControlScheme: Modern / OG controls (#139, T7) — | DONE headless (pad pass owed) |
| 376 | D514 | OPEN | Emulator saves load directly: | DONE headless (by-eye mission select owed) |
| 377 | D515 | FIXED | Empty arch tag from a fresh build dir: | FIXED (headless-verified) |
| 378 | D516 | FIXED | Control style Original shows the game's own N64 styles (1.1-2.4, per seat, saved to the Bond file) instead of the D498 presets — | FIXED (live pass 2026-10-04 incl. |
| 379 | D517 | FIXED | Holding left/right on a Bond settings row dropped the fps: | FIXED (live pass 2026-10-04) |
| 380 | D518 | FIXED | Pad layout preset was one global value: | FIXED (live pass 2026-10-04 incl. |
| 381 | D519 | FIXED | One PC options UI: the file-select "PC Options" entry opens the F10 overlay; the MENU_PC_OPTIONS screen is deleted — | FIXED (headless-verified 2026-10-04; by-eye pass owed) |
| 382 | D520 | FIXED | F10 overlay slider wedge, slider marker and dropdown arrow antialiased (they stepped in whole canvas pixels that grow with the window) — | FIXED (headless before/after capture; by-eye owed) |
| 383 | D521 | PARTIAL | A fixed-frame golden window that overlaps the intro flyby is platform-nondeterministic (cross-platform goldens); verify.sh's linux pixel-gate skip is driver-co… | PARTIAL (rule recorded 2026-10-04; the two residual bands CLOSED 2026-10-05 by D525's box re-round — |
| 384 | D522 | FIXED | The golden window's frame-900 stem is not settled gameplay on several levels — | FIXED 2026-10-05 (recipe-side re-base: |
| 385 | D523 | CLOSED | The golden recipe does not pin save state: | SUPERSEDED by D529 (2026-10-05) — |
| 386 | D524 | FIXED | The golden tooling was destructive and drift-prone: | FIXED 2026-10-05 (both pins idempotent — |
| 387 | D525 | FIXED | The whole <level>/linux/ golden set was stale, not just on the six re-based levels — | FIXED 2026-10-05 (21-level box re-round, 63 frames, save pinned present; structural parity 21/21, Archives/Streets bands attributed to save state, not a renderer) |
| 388 | D526 | CLOSED | P13 Dam-ending grate / edge-railing transparency is faithful N64 behaviour (port == 1964/GEPD); the per-triangle census probe is retained as a generic draw-sta… | CLOSED — faithful, confirmed on 1964/GEPD (2026-10-05): |
| 389 | D527 | OPEN | GE_PCDUMP written first:last (a colon where the dash belongs) silently dumps EVERY frame — | OPEN (harness documentation; a log-or-fail-closed fix is owed in the port layer) |
| 390 | D528 | OPEN | GE_STARTMENU skips the EEPROM read, so front-end-only sessions never import the emulator save — | OPEN (harness documentation; the D514 imported-save test must run from a normal boot; a log-or-import fix is owed in the port layer) |
| 391 | D529 | FIXED | The golden gate depends on the save file's CONTENT — | FIXED 2026-10-05 (canonical save in-tree at tools_pc/golden/ge007.eep; verify.sh installs it like the ini pin; all 21 win sets re-captured under it — |
| 392 | D530 | ? | The box (X220) linux golden re-round landed — | AMENDED BY D531 (2026-10-05) — |
| 393 | D531 | FIXED | capture_p7.sh's D529 adaptation was incomplete — | FIXED 2026-10-05 (loop re-pins the canonical save per level + cd "$ROOT"; fresh 21/21 box re-capture committed — |
| 394 | D532 | FIXED | The three P12 U5 should-fixes applied — | FIXED 2026-10-05 (tooling-only: |
| 395 | D533 | FIXED | The probe-doc drift that would have failed CI, plus three tracked-file accuracy/hygiene fixes (release-sweep spot-check) — | FIXED 2026-10-05 (GE-ENV-PROBES.md missing the GE_D526 family → gen_env_probes.py --check rc 1 = a CI-failing step; build-pc.sh local MSYS2 root in two messages; docs/fidelity.md og line; release-not… |
| 396 | D534 | FIXED | Pre-release review of the 2026-10-05 local batch — | FIXED 2026-10-05 (verify.sh/capture_p7.sh INT/TERM trap; release-notes linux-gate wording; dead security-and-fidelity-status.md links; future-dated 2026-10-07 labels normalised; D526 probe dangling-e… |
| 397 | D450 | FIXED | Unplugging and replugging a controller was not picked up (user, GameSir-G7 Pro; 2026-09-29). | FIXED — port-only: the render thread's gfx_sdl_handle_events drains the same SDL queue as video.c's host pump but had no case for SDL_CONTROLLERDEVICEADDED/REMOVED, so it usually swallowed them and i… |