Files
goldeneye-pc-port/docs/dev/findings-index.csv
T

14 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.
3labelbucketone_linerstatus_raw
4D24-D30RESOLVEDgreen threads / kernel / crash handlerresolved
5D31-D42RESOLVEDboot ABI: ANIM_DATA, music seq-table, libaudio banks, Globalimagetable rebase, GL context, rsp toggleresolved
6D43-D50RESOLVEDmodel-file loading → offline sidecar "Plan B" (d43_emit.py); D50.6 texCopyGdls full-slot copyresolved
7D51-D58RESOLVEDfont pixeldata, osGetCount tick rate, model RW pools, cseq BE header, synth slots, RLE menu bg, watch raw offsets, gun-barrel DLresolved
8D59-D68RESOLVEDintro render: blood-RLE clobber, DMA validate, OSMesgQueue, HEADS/BODIES sentinels, romCopy width, image_entry, Globalimagetable BE→LEresolved
9D70-D74RESOLVEDintro-logo pixels: C-array bswap, UV path, sinf/cosf DVAL(), texture-import truncationresolved
10D75OPENfront-end 3D model transforms (D77 audio split out below —OPEN (parked). M-32 triage (see §F "D75 ADDENDUM"):
11D76 · D164PROPOSEDdisclaimer/legal screen only draws line 1 —fix proposed (not applied —
12D159FIXEDfront-end wallet-Bond photo "interlaced"/combed (RC1 / D149) —FIXED (#ifdef PORT no-op the swap in image.c)
13D161FIXEDDepot (-level_30) ceiling = bright-blue speckle + radial rays (B2).FIXED (port/fast3d/gfx_pc.cpp)
14D165 · D166FIXEDinput-layer polish (M-31, port-only, port/src/input.c):FIXED
15D180 · D181PARTIALnative-PC input pass (QoL run, qol/native-pc-input-menu):LANDED, config-gated, feel-checks owed
16D186PARTIALVideo.FpsCap throttles the sim, not just presentation (M-39 diag, M-42 clamp).CLAMP LANDED (port/fast3d/gfx_sdl2.cpp, port/src/video.c); real fix owed
17D187FIXEDHUD 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
18D188FIXEDLinux -O2 boot crash:FIXED (src/libultrare/libc/xprintf.c, src/sprintf.c, #ifdef PORT); PR #22
19D189FIXEDLinux -fstack-protector aborts on the decomp's latent stack-buffer overruns (M-48) —FIXED (CMakeLists.txt, src/game/stan.c #ifdef PORT); PR #23
20D190OPENLinux -level_45 SIGSEGV at load in add_ptr_to_objective (objective.c:64) (M-48, open).OPEN — not investigated (M-48)
21D191FIXEDWindows -O2 release-bundle crash:FIXED + PLAYTEST-VERIFIED (M-79).
22D193FIXEDNPC AI locomotion is too slow —FIXED + user-playtest-verified (M-81) —
23D194?Mouse input needs another tuning pass —
24D195OPENTransparency / alpha surfaces broken on Control (M-49, user playtest) —OPEN — not investigated (M-49), needs a capture
25D197OPENCharacter face/head textures wrap around the head, seen on Silo (M-49, user playtest).OPEN — not investigated (M-49), needs a capture
26D198FIXEDalAdpcmPull/_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) —
27D199PARTIALPhase-3 software audio mixer:LANDED (port/src/mixer.c, port/include/mixer.h, include/PR/abi.h) —
28D200FIXED-level_09 segfault: reverb's ALDelay.input/output are u32 —FIXED — 5-line cast in reverb.c (this session)
29D196OPENOS mouse cursor stays visible after closing the F10 options overlay in click-to-lock mode (M-49, user playtest).OPEN — root-caused, 1-line fix identified, not applied (M-49)
30D192OPENFront-end mission/level-select grid pointer still can't reach the outer cells —OPEN — root-caused, not fixed (M-49)
31D221FIXEDSELECT FILE screen: the mouse hit-box for a file slot is vertically offset from its visible box —FIXED (M-91) — root cause was NOT a coordinate/origin mismatch:
32D222OPENHigh Video.FovScale breaks culling —OPEN — root cause known, not fixed.
33D223OPENQoL ask: mouse-wheel weapon cycling should be directional like a normal PC shooter —OPEN — root cause + fix mechanism known, not implemented.
34D224FIXEDQoL gap (M-87, from a PD-PC-port survey):DEPRIORITIZED (M-87, user call).
35D225OPENDev-tooling QoL (M-87, user ask):OPEN — root-caused, not implemented.
36D226OPENQoL ask: player-adjustable HUD scale for the ammo counter, bottom-left pickup/item status text, and top-of-screen dialogue/subtitle text.OPEN — root cause / call sites identified, not designed or implemented.
37D204FIXEDPC audio ran ~2 % below real time permanently:FIXED (port/src/audio.c, port/src/libultra.c, port/include/audio.h) —
38D203OPENSteam Deck (SteamOS, x86_64 Linux) v0.1.0 release bundle:OPEN — negative idle repros only; not yet reproduced with input.
39D201FIXEDsrc/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) —
40D202RESOLVEDSilenced PPK plays a "slap" instead of a gunshot, PLUS user reports broader real-time audio corruption (M-52 → M-59 → REOPENED M-60 → M-61/M-62 closed the data…ROOT CAUSE ESTABLISHED (M-66); DISPOSITION C IMPLEMENTED + MEASURED (M-66b) —
41D206FIXEDPC played every SFX one bank slot too high —FIXED (M-76, src/snd.c:1001, #ifdef PORT → soundArray[soundIndex - 1], N64 line verbatim under #else).
42D207PROPOSEDAlarm klaxon starves combat SFX and (per user) doesn't recover after it stops —MONITORING (M-77c: user reports the alarm is acceptable in play after D206; no fix shipped) —
43D208FIXEDPlayer weapon-fire sound goes permanently silent mid-firefight (all other SFX unaffected) —FIXED + user playtest-verified (M-78d) —
44D209FIXEDEvery AI character in the game is locked to a *walk* animation regardless of the speed the ailist commands —FIXED + user-playtest-verified (M-81).
45D210FIXEDchrToPatrol() leaves act_patrol.lastvisible60 uninitialised on PC —FIXED (chraction.c:3872, #ifdef PORT → self->act_patrol.lastvisible60 = -1;, N64 line under #else).
46D205RESOLVEDPC plays wrong/extra SFX for gameplay events the user can A/B against N64:CLOSED (M-78) — root cause was D206; all four symptoms resolved + user-confirmed by ear vs N64.
47D152+FIXEDD152 addendum (M-31):FIXED (src/snd.c, port/src/libultra.c, #ifdef PORT) —
48D168FIXEDGE_PCDUMP / F12 PPM captures were vertically flipped —FIXED (port/fast3d/gfx_opengl.cpp); D114 / D116 reclassified as capture-orientation artifacts (below).
49D169FIXEDFront-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).
50D178FIXEDPre-mission briefing screen:FIXED (M-36) — high confidence
51D175?In-game stutter / brief hang during normal play (user QA report):Observed, not investigated
52D176PARTIALSurface exterior renders wrong (-level_36), two independent defects.(a) root-caused, fix owed / (b) open.
53D177FIXEDLadders non-functional —FIXED (M-36) — high confidence; interactive climb test owed
54D172FIXEDBullet-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):
55D174?"No blood effect" (user QA report).Observed; first step = BUNKER1 firefight with regenerated sidecars
56D183OPENM-36 Family A ("texture line/pitch shear") is DISPROVEN for the Surface repro (-level_36).Hypothesis DISPROVEN + diagnostics shipped; D176(b)/D182(2) still OPEN
57D173?Third-person Bond model spawns too high (user QA report):Observed, not investigated.
58D179FIXEDPackaged build crashes after the logos —Diagnosed, not fixed —
59D180PARTIALNative-PC input pass (M-XX QoL run, qol/native-pc-input-menu, port-only).LANDED, port-only, no #ifdef PORT.
60D181PARTIALGame.ScreenShakeIntensity —LANDED behind config, default = original.
61D184PARTIALF10 port-layer options overlay —LANDED, port-only, no #ifdef PORT in src/.
62D211PARTIALPC FOV slider — Video.FovScale (M-83 QoL wave, port-only, WIDESCREEN-FOV-PLAN.md Phase 4).PARTIAL — M-84 refix:
63D212PARTIALAnisotropic-filtering config wiring —LANDED, port-only. Build clean.
64D213PARTIALOn-screen FPS readout —LANDED, port-only. Build clean; bunker1 no-op confirmed.
65D214PARTIALKeyboard rebinding — [Input.Bind] config section (M-83, port-only, PD parity, Phase 4 debt).PARTIAL — M-84: code PASS (alt/ctrl); one doc-only fix.
66D215FIXED1P weapon viewmodel never drew in-level —FIXED (src/game/gunfire.c, #ifdef PORT).
67D216PARTIALGame.SkipIntro — boot straight to the file-select menu (M-83, port + one #ifdef PORT game-code line, PD parity, Phase 4 quick win).LANDED + VERIFIED this session.
68D217OPEN1P weapon viewmodel + third-person Bond model textures render garbled —OPEN — root cause characterised (M-86); needs an upstream/asset-pipeline fix.
69D218PROPOSEDWide FOV exposes the per-level draw-distance / fog boundary —Logged (M-84), fix proposed + parked.
70D219OPENPPK explosions render purple on Dam (M-87, user QA, "not 3D but noting").OPEN — observed, not investigated.
71D220?1P muzzle flash position shifts upward at higher Video.FovScale (M-87, user QA, Jungle/M16).ANALYZED (M-91) — the suspected unscaled-viewmodel root does NOT hold; this is correct perspective behavior, likely cosmetic/QoL.
72D85OPENroom primary/secondary DL → texLoadFromGdl garbageOPEN (safety-netted; widen/pool fixes landed, geometry now renders)
73D86 · D87RESOLVEDmodelInitRwData truncated ptr · attract-demo BE ramromfilestructureresolved
74D88.4RESOLVEDpropDefs polymorphic record stream not byteswapped → setupDoor crashresolved (d88_propdefs.py); layout audit M-20 → D132
75D132PROPOSEDD88 propDefs layout audit (M-20):proposed fix (not applied) —
76D157FIXEDCampaign never unlocks the next level (M-30, user bug —FIXED (src/bondtypes.h, #ifdef PORT —
77D160?Dam level-end cutscene (Bond off the dam / bungee) never plays —DIAGNOSTIC SHIPPED, not root-caused (c95713f5, #ifdef PORT + GE_D160=1):
78D89-D92RESOLVEDstage-load→frame: stan zero-fill overrun, portal address trunc, chr/AI spawn ptrsresolved
79D93-D102RESOLVEDstruct-pun / hardcoded-size pass:resolved (D95 pool bump partial)
80D103-D107RESOLVEDBUNKER1 viewport height, depth-buffer clear (G_CLEAR_DEPTH_EXT), portal near-plane, LOD mip tileresolved
81D108-D112RESOLVEDskeletal models: d43_emit.py put_f32 byte-reversal bugresolved
82D113-D116FIXEDportal BFS ok · matrix chain ok · player raw-offset audit + gunfire.c THROW* · HUD text X-mirrorD114/D116 CLOSED — NOT A BUG (M-33, see D168):
83D117OPENframe nondeterminism root-caused; GE_DETERM deferred; framediff.py structural.OPEN (mode attempted, not achieved)
84D118RESOLVEDSDL input layer (port/src/input.c); M-24 mouse-look rework:resolved (D118a residual)
85D150FIXEDwatch OBJECTIVES / BRIEF page crash:FIXED (src/str.c #ifdef PORT); interactive re-verify pending
86D137FIXEDright-mouse (aim-sight) crash:FIXED (src/game/gunfire.c #ifdef PORT —
87D119 · D120FIXEDguard-attack weapons_held[]->chr pun crash · blood-stain PointUsage[] chain hangD119 fixed · D120 FIXED (M-30)
88D120FIXEDBlood-decal PointUsage[] chain —FIXED (tools_pc/d43_emit.py).
89D121RESOLVEDWS1 frictionless per-level boot:resolved
90D122FIXEDper-level prop/item model-load crash (Dam/Facility/Runway modelLoad/modelInitRwData):converter fixed; residual chr/fast3d crashes on those levels are separate
91D123FIXEDcrash 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)
92D125RESOLVEDcrash 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).
93D126RESOLVEDcrash 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.
94D124FIXEDcrash class C2: fast3d bad texture pointer.Jungle fixed (port/src/gimgfixup.c); Facility → D130
95D131RESOLVEDcrash 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).
96D133?intro render triage (M-20):not a regression — parked (D75/D76, GRAPHICS-BACKLOG.md)
97D134FIXEDFrame-2 boot hang / sweep "NO-FRAMES" flakiness —FIXED (port/src/libultra.c)
98D135FIXEDFirefight crash — bgTestHitOnObj (propobj.c:8446) is an unported N64 GBI parser (M-22, WS6 playtest).FIXED (src/game/propobj.c, #ifdef PORT —
99D136?Stage-unload crash — objFree obj->prop reads float garbage (M-22, WS6 Facility playthrough).ROOT-CAUSED → D139 (it was NOT a layout bug —
100D139FIXEDStage-unload crash root cause + fix (M-23).FIXED (src/game/cleanup_objects.c, #ifdef PORT —
101D140FIXEDPause-menu crash (M-23 open → M-27 fixed).FIXED (src/game/bondview.h, src/game/bondview2.c; #ifdef PORT).
102D141FIXEDWatch-menu item-model crash (M-27), exposed by D140.FIXED (src/game/gunfire.c, #ifdef PORT).
103D152OPENMission-failed / objective-failed → permanent black screen (M-28, user bug report —MITIGATED (port/src/libultra.c, M-28, #ifdef PORT/port-only).
104D154FIXEDbg.c room-geometry ray/hit-test GBI parser port (M-28, WRITTEN / UNVERIFIED / UNCOMMITTED).M-30 re-audit + fixes (still playtest-gated for final verify).
105D156?Facility outro-cutscene "hang" —GUARDED (src/game/model.c, #ifdef PORT):
106D155FIXEDFacility outro-cutscene end → "hang" = unclamped deltaFrames spiral (M-29, user bug report).FIXED (src/game/frametiming.c, #ifdef PORT —
107D153?-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.
108D151FIXEDWatch data all blank —FIXED (src/bondtypes.h, #ifdef PORT —
109D130RESOLVEDcrash class C2 (Facility -level_34, Runway -level_35):resolved — stage all 6 N64 fields in a local f[6] before writing any.
110D164PROPOSEDDisclaimer / legal screen only draws the first line (D76 root cause, M-31).FIX PROPOSED, NOT APPLIED (front.c is owned by another agent this session).
111D165FIXEDFront-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).
112D166FIXEDHipfire mouse pitch is digital while yaw is analog —FIXED (port/src/input.c).