mirror of
https://github.com/jkdansereau/goldeneye-pc-port.git
synced 2026-10-24 16:22:42 +02:00
- README: attract-mode stills + demo GIF as the hero row, status/warning callouts, metrics table, "Contents" index, doc-index table; simplified the two-agent workflow diagram (LR -> TD, fewer edges) for GitHub web - Table-of-contents indexes added to internals.md, porting-notes.md, agentic-development.md, AUDIO-PLAN.md - CI: add Windows/MSYS2 build job, minimal token (contents: read), persist-credentials: false, concurrency group; run on main + master. validate job regenerates the US ROM-asset symbol file only and configures ntsc-final (PAL/JP need a region ROM; no ROM is used in CI) - .github: SECURITY.md, issue forms + chooser config, PR template, labels.yml, dependabot (Actions, monthly) - Do not track the proprietary SGI IRIX IDO toolchain or SGIImageViewer.exe; document in SetupGuide.md / building.md how to obtain IDO for N64 ROM builds (the PC port does not need it) - Stop tracking two committed *.pyc files; drop stale screenshots and a redundant .gitignore line; misc doc cross-reference fixes Claude-Session: https://claude.ai/code/session_01GULf6knbsqfsnW39tMr9WT
5.2 KiB
5.2 KiB
GRAPHICS-BACKLOG — known cosmetic / rendering issues
Deferred below level-progression and crash work (user priority, M-11). Minor graphical glitches are acceptable in the current state. Fix these once the game is playable start-to-finish without crashes.
Open
| ID | Symptom | Status / notes |
|---|---|---|
CLOSED — NOT A BUG (M-33, §F D168). The GE_PCDUMP PPM writer never reversed glReadPixels rows, so every capture was upside-down; "mirrored" was a misread of inverted asymmetric content. The game renders correctly on hardware (developer-confirmed). Writer fixed (gfx_opengl.cpp). "Every stage verified non-mirrored" was correct — there was no mirror. |
||
| D74 wrap-block | gfx_pc.cpp:1546/1551 PORT block is dead code: guard cms & G_TX_WRAP with G_TX_WRAP==0 is always false; and it indexes per-texunit [2] arrays with the vertex index i (0..2) → OOB if reached. |
Latent. Harmless for CLAMP glyphs; could affect wrapped textures on triangles (room panels, model skins). Fix: cms == G_TX_WRAP, and compute the tile window once per tile not per vertex. Verify against tools_pc/golden/ after. |
| D75 | Shrunk (M-33, upright captures after D168). The "overlaps D114 shared mirror" note is withdrawn. Gun-barrel Bond RENDERS correctly (walk + fire, upright) — the "absent" reports were the flipped capture. Nintendo logo IS still broken — renders as two overlapping white ellipsoids shifted left, no wordmark/geometry (a real logoinst model transform/geometry bug, not a flip). Cast roll not re-captured — recheck with GE_PCDUMP="1400-2200:25". findings.md §F "D75 Bug 2 — M-33 UPDATE". |
|
| D76 | 2D disclaimer screen only partially drawn. | §F D76. |
| D77 | No audible music on PC. | Phase 3 (audio). §F D77. |
| CLOSED — NOT A BUG (M-33, §F D168). Same capture-orientation artifact as D114. | ||
| D148 | Level-end cinematics don't play. Dam: hitting the exit trigger should show Bond rappelling down the dam (the bungee jump); instead it cuts straight to the mission-complete report. | Scripted cutscene / cinematic-camera + Bond rappel anim. Found M-27 during the first full Dam→Facility playthrough. Progression is unaffected — the report and next briefing load fine. M-31 (§F D160): static-traced the Dam end ailists (ai_24→ai_17, camera_switch→CutsceneRecord type-46 lookup). Diagnostic GE_D160=1 shipped (c95713f5) — user runs Dam to the exit with it set; the trace pins whether the cutscene AI runs, and whether the propDef-index walk (D122/D132 family) hands camera_switch a bogus cutscene record. Leading hypothesis: propDef sizepropdef stride desync (medium confidence), not D75 anim-model. |
| D149 | Front-end MISSION COMPLETE / mode-select 3D models (dossier, wallets) render as garbled full-screen geometry or not at all — one of the compiled sub-DLs (seg5+0x9ee4) is malformed, D146 now skips it instead of aborting. | D75 family. §F D146. |
| D170 | Named-NPC "flee" scripted behaviour looks wrong on PC: on Silo, Ourumov breaks into a full run the instant he alerts ("Ourumov: Kill him!") rather than the N64 walk/retreat; developer reports Trevelyan behaves the same way on Cradle. | Observed, not investigated (M-34, from a Silo playtest capture; user bug report — no fix wanted yet). Could be a genuine ailist / chrTick divergence, OR the D155/D156 wall-clock deltaFrames locomotion-anim speed-up (a catch-up spike playing the walk cycle at 2–3×). Verify first: capture the same beat against N64 reference footage before assuming it diverges — Ourumov may be scripted to flee. If it's real, suspect the frametiming clamp (§F D155/D156) or the Cradle-family AI path (§F D123). |
| D171 | Silo missile-shaft: a large translucent grey triangle sweeps across the lower frame while panning down the shaft (~3 s of the capture). Looks like a stray poly / near-plane clip fan, same family as D106 (portal near-plane min>max). | Observed, not investigated (M-34, Silo capture). Cosmetic, intermittent, tied to camera angle in the open vertical shaft. |
| D172 | Bullet-impact / blood particle spray renders magenta or cyan instead of dark red (visible on guards hit at close range on Silo). | Observed, not investigated (M-34, Silo capture). A channel-order / CC-mode error in the particle-sprite path (magenta = R+B, cyan = G+B) — not the D64/D120 blood-decal family (those are crash/hang + missing decals, not colour). Likely a texture-format or env-colour decode in blood_animation.c / the fast3d sprite path. |
Resolved (for reference)
- D70–D74: intro-logo pixels (Rareware logo renders correctly).
- D103: viewport / native-resolution half-frame.
- D105: room geometry Z-buffer never cleared (
G_CLEAR_DEPTH_EXT). - D106: sky-void through doorways (portal near-plane min>max).
- D107: blurry ceilings/wall-panels (LOD mip tile fabrication).
- D112: skeletal models were "3D lines" (
d43_emit.py put_f32byte order).