Files
goldeneye-pc-port/docs/dev/findings-index.csv
T
James Dansereau f242992360 D245: water tiled at the wrong size + s16 sky/water vertices; D242 closed
The IsWater 32x32 CI8 image (drawn through an RGBA16 tile, D229) was
imported with its mip chain as 32x43 and normalised as 16 wide, so the
pattern ran at 2x and wrapped every 43 rows instead of the N64's 32:
fold steps made it jump. Import the base level only and use CI8
geometry in the tri path. Sky/water fans now go through a port-only
G_FLOATVTX_EXT (float clip positions + S/T) instead of s16 Vtx, removing
the tc shift and wScale quantisation jitter. User-verified vs 1964;
golden 3/3; Win + Linux build. A/B: GE_D245_OLDVTX / GE_D245_OLDTEX.
2026-09-26 18:56:52 -04:00

31 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
10D75FIXEDfront-end 3D model transforms (D77 audio split out below —FIXED (M-197, 2026-09-21; user-confirmed live):
11D76 · D164FIXEDLegal 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).
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):FIXED
15D180 · D181FIXEDNative-PC input pass (QoL run):FIXED (2026-09-26 bookkeeping:
16D186OPENVideo.FpsCap throttles the sim, not just presentation (M-39 diag, M-42 clamp).OPEN (2026-09-26, user direction:
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
20D190CLOSEDLinux -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).
21D191FIXEDWindows -O2 release-bundle crash:FIXED + PLAYTEST-VERIFIED (M-79).…
22D193FIXEDNPC AI locomotion is too slow —FIXED + user-playtest-verified (M-81) —…
23D194FIXEDMouse 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).
24D195FIXEDTransparency / alpha surfaces broken on Control (M-49, user playtest) —FIXED (port/fast3d/gfx_pc.cpp, gfx_sp_vertex) —…
25D197CLOSEDCharacter face/head textures wrap around the head, seen on Silo (M-49, user playtest).CLOSED — user playtest v0.2.0-pre
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) —
27D199FIXEDPhase-3 software audio mixer:FIXED (2026-09-26 bookkeeping:
28D200FIXED-level_09 segfault: reverb's ALDelay.input/output are u32 —FIXED — 5-line cast in reverb.c (this session)
29D196FIXEDOS mouse cursor stays visible after closing the F10 options overlay in click-to-lock mode (M-49, user playtest).FIXED (6e758f1d, merged to main) —…
30D192CLOSEDFront-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
31D221FIXEDSELECT FILE mouse hit-box offset —FIXED (M-91) — explicit {min,max} coord2d pairs under #ifdef PORT; human mouse-playtest confirmed.
32D222FIXEDHigh Video.FovScale breaks culling —FIXED, awaiting visual verification (M-121).
33D223FIXEDQoL ask: mouse-wheel weapon cycling should be directional like a normal PC shooter —FIXED (M-105, port/src/input.c) —…
34D224?QoL gap (M-87, from a PD-PC-port survey):DEPRIORITIZED (M-87, user call).
35D225FIXEDDev-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.
36D226FIXEDQoL 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.
37D227FIXEDSky renders as two independently-moving halves —FIXED (M-100b, PR #43) —
38D229FIXEDIsWater-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.
39D230FIXEDIn-level music quality:FIXED (M-121, v0.2.0) —
40D231CLOSEDQoL batch: mute-on-focus-loss + screenshot-hotkey productization (M-105, roadmap Tier 3, port-only).CLOSED — PARKED/DEPRIORITIZED (user, 2026-09-25).
41D233FIXEDAll levels (intermittent):FIXED (port/fast3d/gfx_pc.cpp, gfx_sp_tri1) —…
42D234FIXEDDam: guard towers along the dam structure invisible except the first one (M-106, user QA report).VISUALLY VERIFIED FIXED (M-108) —…
43D244OPENSelf-hosted CI runner (corpyvt6agent01) link failure:OPEN, not yet fixed. Next…
44D228FIXEDAK47 white missing-texture patches after D217's texpool fix —FIXED (port/fast3d/gfx_pc.cpp, palette_to_rgba32) —
45D204FIXEDPC 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) —
46D203CLOSEDSteam Deck (SteamOS, x86_64 Linux) v0.1.0 release bundle:CLOSED — root cause + fix in D253.
47D201FIXEDsrc/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) —
48D202FIXEDSilenced PPK "slap" + broader real-time mixer corruption (M-52→M-67).FIXED (2026-09-26, user by-ear:
49D206FIXEDPC played every SFX one bank slot too high —FIXED (M-76, src/snd.c:1001, #ifdef PORT) —
50D207FIXEDAlarm klaxon starves combat SFX and doesn't recover after it stops (surfaced by D206, M-77).MONITORING — user 2026-09-26:
51D208FIXEDPlayer weapon-fire sound goes permanently silent mid-firefight (all other SFX unaffected) —FIXED + user playtest-verified (M-78d) —
52D209FIXEDEvery AI character in the game is locked to a *walk* animation regardless of the speed the ailist commands —FIXED + user-playtest-verified (M-81).
53D210FIXEDchrToPatrol() leaves act_patrol.lastvisible60 uninitialised on PC —FIXED (chraction.c:3872, #ifdef PORT → self->act_patrol.lastvisible60 = -1;, N64 line under #else).…
54D205CLOSEDPC 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.
55D152+FIXEDD152 addendum (M-31):FIXED (src/snd.c, port/src/libultra.c, #ifdef PORT) —
56D168FIXEDGE_PCDUMP / F12 PPM captures were vertically flipped —FIXED (port/fast3d/gfx_opengl.cpp); D114 / D116 reclassified as capture-orientation artifacts (below).
57D169FIXEDFront-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).
58D178FIXEDPre-mission briefing screen:FIXED (M-36) — high confidence
59D175OPENIn-game stutter / brief hang during normal play —OPEN (user, 2026-09-26:
60D176FIXEDSurface exterior renders wrong (-level_36), two independent defects.(a) scroll-speed FIXED (fidelity pass; HIGH confidence on root cause, MODERATE on N64 parity); M-93 playtest + M-98 Defect-2 starburst screenshot in the sections.
61D177FIXEDLadders non-functional —FIXED (M-36) — high confidence; interactive climb test owed
62D172FIXEDBullet-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)…
63D174CLOSED"No blood effect" (user QA report).CLOSED — faithful (2026-09-26, user side-by-side on 1964:
64D183CLOSEDM-36 Family A ("texture line/pitch shear") is DISPROVEN for the Surface repro (-level_36).CLOSED (2026-09-26, user-approved:
65D173FIXEDThird-person Bond model spawns too high —MOSTLY FIXED as a side effect of D243 (2026-09-18, user-confirmed).
66D179FIXEDPackaged build crashes after the logos —Diagnosed, not fixed —
67D180FIXEDNative-PC input pass (M-XX QoL run, qol/native-pc-input-menu, port-only).FIXED (2026-09-26 bookkeeping:
68D181FIXEDGame.ScreenShakeIntensity —FIXED (2026-09-26 bookkeeping:
69D184FIXEDF10 port-layer options overlay —FIXED (2026-09-26 bookkeeping:
70D211FIXEDPC FOV slider — Video.FovScale (M-83 QoL wave, port-only, WIDESCREEN-FOV-PLAN.md Phase 4).FIXED (2026-09-26 bookkeeping:
71D212FIXEDAnisotropic-filtering config wiring —FIXED (2026-09-26 bookkeeping:
72D213FIXEDOn-screen FPS readout —FIXED (2026-09-26 bookkeeping:
73D214FIXEDKeyboard rebinding — [Input.Bind] config section (M-83, port-only, PD parity, Phase 4 debt).FIXED (2026-09-26 bookkeeping:
74D215FIXED1P weapon viewmodel never drew in-level —FIXED (src/game/gunfire.c, #ifdef PORT).
75D216FIXEDGame.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:
76D217FIXED1P weapon viewmodel + 3P Bond model textures garbled —FIXED + merged (PR #47 + PR #49); white residual split out as D228.
77D218FIXEDWide FOV exposes the per-level draw-distance / fog boundary —FIXED (2026-09-26 reclassified:
78D219RESOLVEDPPK 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.
79D220CLOSED1P muzzle flash position shifts upward at higher Video.FovScale (M-87, user QA, Jungle/M16).CLOSED — merged into D303 (2026-09-26, user:
80D85CLOSEDRoom primary/secondary DL → texLoadFromGdl garbage.CLOSED (2026-09-26, user-approved:
81D86 · D87RESOLVEDmodelInitRwData truncated ptr · attract-demo BE ramromfilestructure.resolved
82D88.4RESOLVEDpropDefs polymorphic record stream not byteswapped → setupDoor crash.resolved (d88_propdefs.py); layout audit M-20 → D132
83D132PROPOSEDD88 propDefs layout audit (M-20):proposed fix (not applied) —
84D157FIXEDCampaign never unlocks the next level (M-30, user bug —FIXED (src/bondtypes.h, #ifdef PORT —…
85D160FIXEDDam level-end cutscene (Bond off the dam / bungee) never plays —FIXED (user, 2026-09-26:
86D89-D92RESOLVEDstage-load→frame: stan zero-fill overrun, portal address trunc, chr/AI spawn ptrsresolved
87D93-D102RESOLVEDstruct-pun / hardcoded-size pass:resolved (D95 pool bump partial)
88D103-D107RESOLVEDBUNKER1 viewport height, depth-buffer clear (G_CLEAR_DEPTH_EXT), portal near-plane, LOD mip tileresolved
89D108-D112RESOLVEDskeletal models: d43_emit.py put_f32 byte-reversal bugresolved
90D113-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):
91D117OPENFrame nondeterminism root-caused; GE_DETERM attempted, not achieved.OPEN (mode attempted, not achieved)
92D118RESOLVEDSDL input layer; M-24 mouse-look rework (mode-aware map, real INI); D118b/c FIXED.resolved (D118a residual)
93D150FIXEDwatch OBJECTIVES / BRIEF page crash:FIXED (src/str.c #ifdef PORT); interactive re-verify pending
94D260-D265CLOSEDv0.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:
95D266-D269CLOSEDD236/D265 wall, second pass:CLOSED (2026-09-26 bookkeeping:
96D270CLOSEDBackfilled (M-132) — this label was never given its own row; only code comments and the HANDOFF archive documented it.CLOSED (2026-09-26 bookkeeping:
97D271FIXEDD236 wall, third pass —FIXED-but-insufficient (src/game/bg.c #ifdef PORT) —
98D276CLOSEDD236 wall, eighth pass —CLOSED (2026-09-26 bookkeeping:
99D279CLOSEDBackfilled — 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:
100D281FIXEDGame.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):
101D282FIXEDQoL ask (v0.2.1 user testing, 2026-09-15):FIXED (port/src/input.c, #ifdef not needed —
102D283OPENSteam 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… —OPEN — mechanism understood, root cause (Desktop-vs-Game-Mode STEAMOS env var difference) unverified on real hardware; user-facing workaround documented in README/release notes.
103D280CLOSEDD236 wall, ninth pass —CLOSED (2026-09-26 bookkeeping:
104D275CLOSEDD236 wall, eighth pass —CLOSED (2026-09-26 bookkeeping:
105D274CLOSEDD236 wall, seventh pass —CLOSED (2026-09-26 bookkeeping:
106D273CLOSEDD236 wall, fifth pass —CLOSED (2026-09-26 bookkeeping:
107D272CLOSEDD236 wall, fourth pass —CLOSED (2026-09-26 bookkeeping:
108D137FIXEDright-mouse (aim-sight) crash:FIXED (src/game/gunfire.c #ifdef PORT —
109D119 · D120FIXEDguard-attack weapons_held[]->chr pun crash · blood-stain PointUsage[] chain hangD119 fixed · D120 FIXED (M-30)
110D120FIXEDBlood-decal PointUsage[] chain —FIXED (tools_pc/d43_emit.py).
111D121RESOLVEDWS1 frictionless per-level boot (bare -level_XX injects its -m* row).resolved
112D122FIXEDper-level prop/item model-load crash (Dam/Facility/Runway modelLoad/modelInitRwData):converter fixed; residual chr/fast3d crashes on those levels are separate
113D123FIXEDcrash 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)
114D125RESOLVEDcrash 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).
115D126RESOLVEDcrash 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.
116D124FIXEDcrash class C2: fast3d bad texture pointer.Jungle fixed (port/src/gimgfixup.c); Facility → D130
117D131RESOLVEDcrash 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).…
118D133RESOLVEDintro render triage (M-20):RESOLVED — not a regression, parked (D75/D76, GRAPHICS-BACKLOG.md)
119D134FIXEDFrame-2 boot hang / sweep "NO-FRAMES" flakiness —FIXED (port/src/libultra.c)
120D135FIXEDFirefight crash — bgTestHitOnObj (propobj.c:8446) is an unported N64 GBI parser (M-22, WS6 playtest).FIXED (src/game/propobj.c, #ifdef PORT —…
121D136RESOLVEDStage-unload crash — objFree obj->prop reads float garbage (M-22, WS6 Facility playthrough).ROOT-CAUSED → D139 (it was NOT a layout bug —
122D139FIXEDStage-unload crash root cause + fix (M-23).FIXED (src/game/cleanup_objects.c, #ifdef PORT —…
123D140FIXEDPause-menu crash (M-23 open → M-27 fixed).FIXED (src/game/bondview.h, src/game/bondview2.c; #ifdef PORT).
124D141FIXEDWatch-menu item-model crash (M-27), exposed by D140.FIXED (src/game/gunfire.c, #ifdef PORT).
125D152FIXEDMission-failed / objective-failed → permanent black screen (M-28, user bug report —FIXED (user, 2026-09-26:
126D154?bg.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).
127D156FIXEDFacility outro-cutscene "hang" —FIXED (user, 2026-09-26:
128D155FIXEDFacility outro-cutscene end → "hang" = unclamped deltaFrames spiral (M-29, user bug report).FIXED (src/game/frametiming.c, #ifdef PORT —…
129D153RESOLVED-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.
130D151FIXEDWatch data all blank —FIXED (src/bondtypes.h, #ifdef PORT —…
131D130RESOLVEDcrash class C2 (Facility -level_34, Runway -level_35):resolved — stage all 6 N64 fields in a local f[6] before writing any.
132D164FIXEDDisclaimer / legal screen only draws the first line (D76 root cause, M-31).FIXED — corrected 2026-09-18:
133D165FIXEDFront-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).
134D166FIXEDHipfire mouse pitch is digital while yaw is analog —FIXED (port/src/input.c).…
135D235CLOSEDWrong textures load after dying/restarting a level —CLOSED (user, 2026-09-26:
136D236CLOSEDSurface 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):
137D237FIXEDQoL 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.
138D238FIXEDQoL ask (M-106, user QA):FIXED (2026-09-26: covered by D337/D338 aim work; user reports mouse feel good; code-side validation owed).
139D239CLOSEDQoL ask (M-106, user QA):CLOSED — executed in the v0.2.0 prep pass (port-only)…
140D240OPENPlayer gunshot SFX timing/cadence reportedly does not match the N64 original's rate (M-106, user QA report).OPEN — not root-caused; static call-site tracing only, no runtime verification possible in this environment.
141D241OPENPlayer gunshot SFX goes silent under some conditions —OPEN — not newly root-caused; high confidence this is D207 reproduced, not an independent bug.
142D242FIXEDPlayer-death sequence UX regression vs N64 original:FIXED/CLOSED (2026-09-26, user:
143D243FIXEDDam 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).
144D245FIXEDIsWater 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):
145D246FIXEDTiny pixel strips at the left and right edges of the screen, "like overscan" —FIXED (2026-09-18 session, port-only, Video.SafeAreaCrop).
146D247FIXEDBlack bars top and bottom of screen —FIXED (2026-09-18 session, port-only, Video.SafeAreaCrop).
147D248FIXEDPort 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).
148D249OPENLOD/culling breaks down on large open levels (Streets, Egyptian named specifically) at *default* FOV —OPEN — M-142 static review ruled out the unscaled-far-clip and LOD-multiplier suspects (both already correct); narrowed to the portal/room-visibility BFS, needs a live screenshot+location, not more c…
149D250FIXEDFPS 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.
150D251FIXEDF10 options overlay QoL pass:FIXED (port-only, port/src/optionsoverlay.c).
151D252FIXEDParticle 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):
152D253FIXEDFacility (and any level with a FORCECROUCH/LADDER linked special tile) SIGSEGV on Linux/Steam Deck —FIXED — Deck-verified:
153D254FIXEDLinux crash handler destroyed its own logs:FIXED — field-verified.
154D255FIXEDFacility 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…
155D256FIXEDSaves (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.
156D257FIXEDNew 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).
157D259FIXEDGame.AllUnlocked (D257) breaks audio on a fresh save:FIXED in v0.2.1 —…
158D260FIXEDv0.2.1 (user request):FIXED — build green; one-line branch swap, trivially reviewable.
159D261FIXEDv0.2.1 (user request:FIXED — feel-check received; W/S sensitivity follow-up logged above.
160D262FIXEDv0.2.1 (user report):FIXED (primary cause, D264) —
161D264FIXEDD262's root cause (ABI/layout class, cf.FIXED — build green, probes removed; visual confirmation pending.
162D263RESOLVEDv0.2.1 (user report):RESOLVED (not a bug), refined (v0.2.1 further user testing, 2026-09-15).
163D265CLOSEDD236 investigation (port-layer, port/fast3d/gfx_pc.cpp):CLOSED (2026-09-26 bookkeeping:
164D258OPENPAL/JP asset conversion is broken at the source-data level —OPEN — repair path verified, not applied (out of v0.2.0 scope).
165D284FIXEDport/src/random.c's MIPS64 dsll32/dsrl32 shift helpers were backwards —FIXED, 21-level sweep clean, no crashes —
166D285FIXEDSteam Deck SIGSEGV during D255 live-testing = SEPARATE bug:FIXED (user, 2026-09-26:
167D286CLOSEDUser-confirmed real ~8s frame freeze on Caverns, Steam Deck —CLOSED (2026-09-26, user-approved:
168D287FIXEDUser-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:
169D288CLOSEDSilo 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").
170D289FIXEDDam: a crash in the computer room, not reproducible on a second attempt (M-141, Steam Deck user playtest).FIXED (user, 2026-09-26:
171D290FIXEDWatch'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.
172D291CLOSEDDam: texture glitches when the truck drives past (M-141, Steam Deck user playtest).CLOSED — duplicate of D306, faithful (M-201, 2026-09-26:
173D292FIXEDDeath animations are glitched —MOSTLY FIXED as a side effect of D243 (2026-09-18, user-confirmed alongside D173) —
174D293FIXEDQoL 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.…
175D294FIXEDStatue: 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… —FIXED, user playtest confirmed (2026-09-25:
176D295FIXEDCampaign-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:
177D296CLOSEDControl Center, 00 Agent:CLOSED (2026-09-26, user-approved:
178D297FIXEDv0.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:
179D298CLOSEDFull HUD (not just the aim-mode crosshair) missing in a v0.3.0 dev build —CLOSED (2026-09-26, user:
180D299FIXEDGame.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…
181D300FIXEDHipfire look feels non-uniform (issue #89):FIXED, user-confirmed live —
182D301FIXEDfileGetIsCheatUnlocked() 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) —
183D302FIXEDRender 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…
184D303FIXEDSome muzzle flashes (M16 named specifically, "and some others") draw wrong —FIXED (M-201, 2026-09-26):
185D304FIXEDMouse 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…
186D305FIXEDSteam 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) —
187D306CLOSEDDam intro/truck wheels render with odd transparent-looking areas, possibly z-fighting (user QA, 2026-09-18).CLOSED — faithful, confirmed on 1964 (M-201):
188D307FIXEDIn-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):
189D308CLOSEDOccasional 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:
190D309FIXEDComplete 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).
191D310FIXEDRULE-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:
192D311FIXEDComplete 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.
193D312FIXEDThrowable 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):
194D313FIXEDBullet impacts do not appear on some walls/surfaces —FIXED — same root cause as D312, merged diagnosis; same one-line fix.
195D314FIXEDF10 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) —
196D315CLOSEDMenu scaling differs between main menu and in-game —CLOSED (2026-09-26, user:
197D316FIXEDMouse-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.
198D317CLOSEDCrash 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).
199D318FIXEDFacility (regular play path):FIXED via D329 (2026-09-26 bookkeeping:
200D319FIXEDFrame 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.
201D320FIXEDD318-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:
202D321FIXEDD318 trigger chain fully mapped:FIXED via D329 (2026-09-26 bookkeeping:
203D322FIXEDLong-session audio degradation:FIXED (Windows) for the periodic "garbled" bursts —
204D323CLOSEDG_TL_LOD bindings of explicit-LOD textures:CLOSED — parked as a fidelity enhancement, not a bug (2026-09-26, user-approved:
205D324FIXEDGE's <stdlib.h> stub declares nothing, so TUs that include it get NO CRT prototypes —FIXED (2026-09-22) — proven impact:
206D325CLOSEDROM-mod (xdelta) compatibility:CLOSED as a question —
207D326CLOSEDRandom Eye randomizer repacks the ROM too —CLOSED as a question —
208D327RESOLVEDMod support, resolved plan:RESOLVED — superseded by D328; approach (a) is NOT ruled out (these scans missed the 1172-compressed data segment).
209D328CLOSEDMod support is viable and D327's "ruled out" was wrong:CLOSED as a question —
210D329FIXEDThe 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…
211D330FIXED#103 (v0.3.0, Win 11):FIXED (port/src/input.c) —
212D331FIXEDEjected shell casings never rendered on PC:FIXED (gunfire.c #ifdef PORT, explicit template); PP7 casing verified on native Windows (before:
213D332FIXEDReticule jitter in aim mode (RMB) —FIXED (fix/mouse-pd-model) —
214D333FIXED#104 (v0.3.0, Linux):FIXED (2026-09-26 bookkeeping:
215D334FIXEDNative widescreen, world side (WIDESCREEN-FOV-PLAN Option B Phase 2):FIXED (2026-09-26 bookkeeping:
216D335FIXEDNative widescreen, HUD + front end (WIDESCREEN-FOV-PLAN Phase 3):FIXED (2026-09-26 bookkeeping:
217D336FIXEDFrigate (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.
218D337FIXEDAim modes folded (user decision):FIXED (2026-09-26 bookkeeping:
219D338FIXEDInput.AimRange (F10 "Aim range"):FIXED (2026-09-26 bookkeeping:
220D339OPEN#92 (low-end ~30 fps, Celeron N3060 / HD 400) —OPEN (2026-09-26, user: