From d934a93253f8c26bde6425a322139d138899322c Mon Sep 17 00:00:00 2001 From: James Dansereau <106631954+jkdansereau@users.noreply.github.com> Date: Mon, 28 Sep 2026 00:00:11 -0400 Subject: [PATCH] =?UTF-8?q?docs:=20D403=20resolved=20=E2=80=94=20Deck=20fr?= =?UTF-8?q?ont-end=20logo/copyright=20page=20confirmed=20fixed?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit After regenerating the Deck's pcmodels/pccg sidecars from the current converter (M-197 blob fix + D303) and pushing them, the user re-checked the front end on the Steam Deck and confirmed the Nintendo/GoldenEye logo + copyright/legal page now render correctly. D403 was the stale-sidecar test artifact all along; no code was ever at fault. --- docs/dev/findings-index.csv | 2 +- docs/dev/findings.md | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/docs/dev/findings-index.csv b/docs/dev/findings-index.csv index f1fbe73c..8250a1e9 100644 --- a/docs/dev/findings-index.csv +++ b/docs/dev/findings-index.csv @@ -279,5 +279,5 @@ D399,PARTIAL,File-select bottom row (SELECT FILE text + Copy/Erase + PC Options D400,PARTIAL,"File-select ""PC Options"" label:","LANDED (port-only, frontoptions.c):" D401,PARTIAL,Rumble Pak → real gamepad haptics (re-promotes D224/M-87):,"LANDED (port-only, input.c/input.h/libultra.c + optionsoverlay.c per docs/dev/RUMBLE-PLAN.md; zero src/ edits)." 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): -D403,OPEN,Deck v0.4.0-pre test:,"OPEN (test artifact, log-only per user; not a code regression):" +D403,RESOLVED,Deck v0.4.0-pre test:,"RESOLVED (2026-09-27, user-confirmed on the Deck:" D404,OPEN,"""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…",OPEN (log-only per user): diff --git a/docs/dev/findings.md b/docs/dev/findings.md index adfd2030..96aa0474 100644 --- a/docs/dev/findings.md +++ b/docs/dev/findings.md @@ -687,7 +687,7 @@ covers D24–D69; the log continues in §H (D32 procedure, D70–D121). | D400 | **File-select "PC Options" label: icon removed, text-only; fixed a swapped textMeasure() arg bug and a 7px vertical misalignment vs Copy/Erase (user sign-off 2026-09-27).** Full `## D400` entry at file tail. | LANDED (port-only, `frontoptions.c`): D398's dot icon dropped on user instruction ("most straightforward design"); label now a plain `textRender` word, GAP 28 after Erase. Two measurement bugs fixed: (1) `textMeasure(textheight, textwidth)` args passed swapped -> label 35px above the bar, hot band transposed; (2) bare-label height measures 0 (vs 14 for newline-terminated Copy/Erase) -> 7px lower tops; fixed by restoring the `kLabelNL` height measure. PCDUMP frame 195: tops aligned 279.8 vs 279.3, 31px clearance from Erase; by-eye check owed. | | D401 | **Rumble Pak → real gamepad haptics (re-promotes D224/M-87): `CONT_CARD_ON` gate + `osPfs*`/`osMotor*` shims rewired to `SDL_GameControllerRumble`, single global `Rumble strength` slider on `Input.RumbleScale` (2026-09-27/28).** Full `## D401` entry at file tail. | LANDED (port-only, `input.c`/`input.h`/`libultra.c` + `optionsoverlay.c` per `docs/dev/RUMBLE-PLAN.md`; zero `src/` edits). Both M-87 addendum blockers: `g_contStatus[i].status` now sets `CONT_CARD_ON` for connected rumble-capable pads (so `joyRumblePakInit` arms) and `osPfsInit` returns `PFS_ERR_DEVICE` for them (so `osMotorInit` is attempted). New `inputRumble*` API + global `Input.RumbleScale` (0..1, dflt 0.5; the four per-player `Input.PlayerN.RumbleScale` keys were dropped in the final menu-shape decision); `osMotorStart/Stop` drive it. **Real-pad haptics confirmed working by user (2026-09-28)**; plan item 3 (one global `Rumble strength` slider in the F10 overlay + front options screen, reset-table entry) landed the same day. `RumbleScale=0` silence check still unverified (trivial early-out path). **Rumble confirmed on the Steam Deck's Steam Controller (2026-09-27/28).** | | D402 | **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 cycle; `video.c` `_SHIFTL`); fixed in `port/shim/` only, no `src/` edits, no rule-2 (2026-09-27).** Full `## D402` entry at file tail. | RESOLVED (Linux/Ubuntu-24.04 build → glibc-2.41-compatible binary for the Steam Deck): three `port/shim/` fixes — `PR/ucode.h` + `bondconstants.h` defer `pc_protos.h`/`bondtypes.h` during `bondconstants.h`'s own `ultra64.h` pass (breaks the `bondconstants.h`→`ultra64.h`→`pc_protos.h`→`bondtypes.h`→`bondconstants.h` re-entry); `PR/gbi.h` defines `_SHIFTL`/`_SHIFTR` when absent (the `gbi.h` macros in `video.c` lost their `mbi.h` definitions on Linux). Builds + links clean on Ubuntu-24.04; bundled `libSDL2` with `rpath=$ORIGIN`; pushed to the Deck. Shim files uncommitted at log time. | -| D403 | **Deck v0.4.0-pre test: Nintendo logo + copyright/legal page render broken, broader graphics "not reflecting new updates" — stale 0.3.0-era sidecars seeded into the bundle (2026-09-27).** Full `## D403` entry at file tail. | OPEN (test artifact, log-only per user; not a code regression): the Deck bundle was seeded with `pcmodels`/`pccg` sidecars from the `0.3.0-local` install (data dated 2026-09-15), which predate the D75/M-197 embedded-blob raw-pixel fix (commit `425237f9`, 2026-09-21) and the D303 muzzle-vertex converter fix (2026-09-26) → the `P*` front-end logo/legal textures come out broken while the in-exe fast3d fixes (D397 gun-barrel/file-select) render correctly. **Disambiguation performed (2026-09-27):** `data/pcmodels-ntsc-final` + `data/pccg-ntsc-final` regenerated from the Python-source converter (`prepare-assets.py` + the current `d43/d69/d88_emit.py`, `ALL CHECKS PASSED`) on the NTSC ROM and pushed to the Deck (sha256-verified), preserving the user's `ge007.eep`/`ge007.ini`. Awaiting the user's by-eye front-end recheck on the Deck. | +| D403 | **Deck v0.4.0-pre test: Nintendo logo + copyright/legal page render broken, broader graphics "not reflecting new updates" — stale 0.3.0-era sidecars seeded into the bundle (2026-09-27).** Full `## D403` entry at file tail. | RESOLVED (2026-09-27, user-confirmed on the Deck: a stale-sidecar **test artifact**, never a code regression): the Deck bundle was seeded with `pcmodels`/`pccg` sidecars from the `0.3.0-local` install (data dated 2026-09-15), which predate the D75/M-197 embedded-blob raw-pixel fix (commit `425237f9`, 2026-09-21) and the D303 muzzle-vertex converter fix (2026-09-26) → the `P*` front-end logo/legal textures come out broken while the in-exe fast3d fixes (D397 gun-barrel/file-select) render correctly. Disambiguation performed (2026-09-27): `data/pcmodels-ntsc-final` + `data/pccg-ntsc-final` regenerated from the Python-source converter (`prepare-assets.py` + the current `d43/d69/d88_emit.py`, `ALL CHECKS PASSED`) on the NTSC ROM and pushed to the Deck (sha256-verified), preserving the user's `ge007.eep`/`ge007.ini`. **RESOLVED (user-confirmed on the Deck, 2026-09-27): the front-end logo / copyright / legal page now render correctly — confirming this was the stale-sidecar test artifact, not a code regression.** | | D404 | **"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 input … pad trigger") but the centred path is mouse-only (Steam Deck, 2026-09-27).** Full `## D404` entry at file tail. | OPEN (log-only per user): `AIMMODE_CENTRED` is handled only in the RMB/mouse-held branch (`input.c:1783`, `hipDirectCompute`), which D337's device-aware integration feeds **only while the mouse is active**; a pad's native right-stick look never consults `aimMode`, so Centred is inert on a pad. Gap between the row's documented scope and its mouse-only behavior (reads as a dead option to a pad user). Candidate fixes deferred: hide/annotate the row for pads, or correct the doc comment, or (larger) design a centred-aim pad model. **Re-confirmed on the Steam Deck (2026-09-27/28): "centered aim is broken on deck too."** | @@ -15435,7 +15435,7 @@ So the broken logo + copyright page + "a lot of graphics not updated" are **stal **Not a code regression.** The same `release/v0.4.0` code renders the logo correctly on Windows with freshly-regenerated sidecars (D75 user-confirmed 2026-09-21). The Deck discrepancy is a **test-harness artifact of seeding the bundle with 0.3.0-era sidecars**. -**Disambiguation (performed 2026-09-27):** `data/pcmodels-ntsc-final` + `data/pccg-ntsc-final` were regenerated for the Deck from the **current** Python-source toolchain — `tools_pc/dist/prepare-assets/prepare-assets.py` driving `d43_emit.py` (models, carries the M-197 blob copy) + `d69_emit.py` (bg/stan) + `d88_emit.py --regen` (stage setup), all `ALL CHECKS PASSED` on the NTSC ROM — and the two sidecar dirs were pushed to the Deck's bundle (sha256-verified), replacing the stale 0.3.0-era ones while keeping the user's `ge007.eep` save + `ge007.ini`. The front end should now show the correct Nintendo/GoldenEye logo + legal page. **Remaining:** the user's by-eye front-end recheck on the Deck to confirm the logo/copyright page render correctly. +**Disambiguation (performed 2026-09-27) → RESOLVED:** `data/pcmodels-ntsc-final` + `data/pccg-ntsc-final` were regenerated for the Deck from the **current** Python-source toolchain — `tools_pc/dist/prepare-assets/prepare-assets.py` driving `d43_emit.py` (models, carries the M-197 blob copy) + `d69_emit.py` (bg/stan) + `d88_emit.py --regen` (stage setup), all `ALL CHECKS PASSED` on the NTSC ROM — and the two sidecar dirs were pushed to the Deck's bundle (sha256-verified), replacing the stale 0.3.0-era ones while keeping the user's `ge007.eep` save + `ge007.ini`. **User re-checked the front end on the Deck and confirmed the Nintendo/GoldenEye logo + copyright/legal page now render correctly** — D403 is closed. It was the stale-sidecar test artifact all along; no code was ever at fault. **Cross-refs:** D75 (M-197 logo/legal blob fix), D303 (converter muzzle-vertex), D397 (fast3d in-exe, works on Deck), D402 (Linux build that produced this bundle), `docs/dev/notes/REMOTE-DECK-DEBUG-WORKFLOW.md` (the asset-reuse step that seeded the stale sidecars). ## D404 — "Aim style: Centred (PC)" has no effect when aiming with a gamepad; the row's own doc comment over-promises (Steam Deck, 2026-09-27; log-only per user)