From 5a0fa8f6f98fe7325681c194574eae6cfb08563a Mon Sep 17 00:00:00 2001 From: sylph-decoder Date: Sat, 29 Aug 2026 14:15:50 +0000 Subject: [PATCH] handoff: address the loading bundles by pak entry, not by is_build ordinal The port caught this before writing a name: over the twelve bundles is_build accepts, ordinals 10/11 are entries 12/15, while ENTRIES 10/11 are the two splash bundles. A key written from an ordinal names the publisher wordmark as a loading screen and still validates. Restated in entry space throughout. --- docs/port/HANDOFF.md | 18 ++++++++++++++---- 1 file changed, 14 insertions(+), 4 deletions(-) diff --git a/docs/port/HANDOFF.md b/docs/port/HANDOFF.md index 4c2accc4..a13a8912 100644 --- a/docs/port/HANDOFF.md +++ b/docs/port/HANDOFF.md @@ -96,11 +96,20 @@ moved `GP_TITLE` build 7 by 13.1 % of its pixels; with pose 0's time restored: So `screen render` is still the reference you diff against, unchanged. **If your static screens move, that is your bug, not this change.** -## ✅ 2026-08-29 — builds 0/1 and 10/11 are the LOADING SCREEN (your ask #2) +## ✅ 2026-08-29 — `GP_TITLE` **entries 0, 1, 12, 15** are the LOADING SCREEN (your ask #2) + +🔴 **Address these by PAK ENTRY, not by `is_build` ordinal.** The port raised +this and it is a real foot-gun: over the twelve bundles `is_build` accepts +(entries 0,1,2,3,4,5,6,7,8,9,12,15) the *ordinals* 10 and 11 are **entries 12 and +15**, while **entries** 10 and 11 are `palogo_sqex` and +`palogo_gamearts`/`seta`/`anima` — the two splashes. A key written `"10"`/`"11"` +from an ordinal therefore names the publisher wordmark and the developer logos as +loading screens, and everything still validates. The loading bundles are +**entries 0, 1, 12, 15** (= build ordinals 0, 1, 10, 11). **Decoded** — the authors' own element names, straight out of the declaration table. Every element of all four bundles is prefixed `pgloading_`: the 7-element -pair (builds 0/1) is the plain plate, the 10-element pair (builds 10/11) adds +pair (entries 0/1) is the plain plate, the 10-element pair (entries 12/15) adds `pgloading_eff00.prm`, `pgloading_loop5.rat` and `pgloading_baseeff.t32` over a circuit-line background. `DELTASABER / SYLPHEED A.I.` is the caption art on `pgloading_str.t32`, not the screen's identity. @@ -112,8 +121,9 @@ are two, but nothing observed says which bundle is which. 🟡 undecided. 🟡 **Which member of each pair is English: the first half of the data segment.** All eight pairs put exactly one member in each half of `GP_TITLE.p00`, and all -three pairs whose language is visible (4/7, 5/8, 6/9) put English in the first. -So builds **0, 2, 4, 5, 6, 10 are English**; 1, 3, 7, 8, 9, 11 Japanese. 🟡 not +three pairs whose language is visible (entries 4/7, 5/8, 6/9) put English in the +first. So **entries 0, 2, 4, 5, 6, 10, 11, 12 are English**; entries 1, 3, 7, 8, +9, 13, 14, 15 Japanese. 🟡 not ✅ — the three pairs this is *used* for are exactly the three no capture can check, and nothing in the bundle bytes differs between those twins at all. [`ui-title-build-map.md`](../re/ui-title-build-map.md)