re: index + backlog rows for the script-dialogue link

This commit is contained in:
Sylpheed RE agent
2026-08-26 03:09:46 +00:00
parent f611e0b618
commit ed7c147041
2 changed files with 23 additions and 0 deletions

View File

@@ -6,6 +6,28 @@ unknown, what evidence exists, and what the first step would be. Move an item in
---
## ✅ SOLVED (2026-08-26) — the mission scripts are readable as dialogue
Built-in **64** (`request_script_message`) stages a symbol-table-1 reference in
slot 0; the symbol is a message id (`MSG_VOICE_D_257`), and the caption table
holds its text under `<id>_000_00`. **2683 of 2683** call sites across all 28
stage scripts resolve — every one stages slot 0, every operand is type 6, every
name has text. 1338 distinct names in six families.
This was only reachable after `build_caption_text` was switched to the IXUD
field table on 2026-08-25 (537 → 8800 lines); before that most of these names
had nothing to resolve to, which is why the item sat open.
Write-up + tool: [`structures/isl-message-dialogue-link.md`](structures/isl-message-dialogue-link.md),
`tools/re-capture/isl_dialogue.py`.
**Still open from this**: which *recording* plays for a line (the voice-bank
binding is unresolved and a generic take is known to play against a specific
subtitle); multi-page captions; the other five languages; and play order, since
the tool prints script order without resolving phases or branches.
---
## ✅ SOLVED (2026-08-19) — the paint order is a runtime child list, not a table in the file
The screen object the game builds at load time holds **two** lists of its

View File

@@ -94,6 +94,7 @@ files, which is how the same ground got covered twice.
| [`idxd-legacy-reader-audit.md`](idxd-legacy-reader-audit.md) | The legacy IDXD string-pool reader vs the real field table — what the old numbers got wrong | 🟡 shape CONFIRMED by hand (`FCSRange`, `ShieldRatio`, hangar `Model`); disc-wide rates are single-source |
| [`structures/idxd-container.md`](structures/idxd-container.md) | The IDXD/IXUD container — record/field table, and the two beliefs it withdraws | ✅ CONFIRMED disc-wide, 7 750/7 750 objects and 1 271 462/1 271 462 named fields, zero failures |
| [`structures/hud-glyph-quad.md`](structures/hud-glyph-quad.md) | The HUD's glyph quad — vtable `0x820B2A64` | ✅ CONFIRMED for the object layout and the atlas size, read live off |
| [`structures/isl-message-dialogue-link.md`](structures/isl-message-dialogue-link.md) | Mission scripts as dialogue — built-in 64 -> message id -> caption text | ✅ CONFIRMED total, 2 683/2 683 call sites across all 28 stages resolve, no residue |
| [`structures/mission-objective-counter.md`](structures/mission-objective-counter.md) | `REMAINING OB` — the mission's own objective counter, in RAM | ✅ CONFIRMED for one Stage 02 run: a big-endian u32 whose value |
| [`structures/movie-subtitles.md`](structures/movie-subtitles.md) | Movie subtitles & the movie ↔ mission ↔ text chain | — |
| [`structures/regn-map-grid.md`](structures/regn-map-grid.md) | `REGN` — a per-map spatial grid (and `MCOL` beside it) | ✅ CONFIRMED for the header, which self-checks on all 11 objects on |