re: correction -- the dialogue table was already in the corpus, and one negative was false

The previous commit announced message\MissionDialogMessage.tbl as a
find.  structures/ixud-localised-text.md OWNS it and already says
S02_P1_OBJECTIVE and friends are record names in an IDXD map,
message\MissionDialogMessage.tbl, whose positional fields list the
lowercase per-line IXUD names -- and that *_GRAPH is the odd one, a
single named field holding a texture.  I grepped the manifest doc and
not the text doc.  Third overclaim in four days; the rule is now to grep
the doc that owns the DATA, not only the doc that owns the FILE.

Worse, the headline negative was wrong.  MissionDialog_local_string.tbl
DOES resolve -- as language\MissionDialog_local_string.tbl, IXUD, in all
six GP_MAIN_GAME_* paks.  My 33 prefixes omitted language\, which is
precisely the convention ixud-localised-text.md records for language
paks.  A prefix sweep is only as good as its prefix list, and the list
should come from the corpus.

'LOSE has exactly one entry' was wrong too.  Per kind: HINT_PAUSE 4,
HINT 3, LOSE 4, OBJECTIVE 4 positional fields, and GRAPH 1 NAMED field
holding the .t32.  The single-field bucket was GRAPH, not LOSE.

What survives as new: the 11 non-MISSION field values read as a block;
the GP_TEST and TEXTS sibling records; the per-stage phase census; and
the five pgmsg_*.prt resolving nowhere under 34 prefixes x 41 archives,
now with two working controls in the same sweep.

Artefact 8 insertions / 3 deletions, every deleted line replaced by its
corrected form; the other five regenerate byte-identical.
This commit is contained in:
Sylpheed RE agent
2026-08-27 13:45:35 +00:00
parent acbcd8d75c
commit 9d25a3a582
4 changed files with 90 additions and 21 deletions

View File

@@ -827,6 +827,35 @@ unknown, what evidence exists, and what the first step would be. Move an item in
field; the stat keys in records not opened here (`MegaTons`, `BulletLimit`,
`CrewCount`, `HP_CLASS`); why the roster lists 59 of 131.
***(2026-08-27) CORRECTION — the mission dialogue table was ALREADY IN THE
CORPUS, and my headline negative was a FALSE NEGATIVE.**
[structures/mission-script-manifest](structures/mission-script-manifest.md),
artefact `data/script-manifest.txt` (8 insertions, 3 deletions — every deleted
line replaced by its corrected form).
❌ The entry below announced `message\MissionDialogMessage.tbl` as a find.
**`structures/ixud-localised-text.md` OWNS it** and already says
`S02_P1_OBJECTIVE` and friends "are record names in an IDXD map,
`message\MissionDialogMessage.tbl`, whose positional fields list the lowercase
per-line IXUD names", and that "`*_GRAPH` is the odd one: a single named field
holding a texture, `pgmsg_stg02_1.t32`". I grepped the manifest doc and not the
text doc. **Third overclaim in four days** — the rule is now: grep the doc that
owns the DATA, not only the doc that owns the FILE.
**`MissionDialog_local_string.tbl` DOES resolve** — as
`language\MissionDialog_local_string.tbl`, IXUD, in all six `GP_MAIN_GAME_*`
paks. My 33 prefixes omitted `language\`, which is precisely the convention
`ixud-localised-text.md` records for language paks. **A prefix sweep is only as
good as its prefix list, and the list should come from the corpus.**
❌ "`LOSE` has exactly one entry" was wrong too. Per kind: `HINT_PAUSE` 4,
`HINT` 3, `LOSE` 4, `OBJECTIVE` 4 POSITIONAL fields, and **`GRAPH` 1 NAMED
field** holding the `.t32` (`S10_P1_GRAPH` -> `pgmsg_stg10_1.t32`). The
single-field bucket was `GRAPH`, not `LOSE`.
**What survives as new**: the 11 non-`MISSION` field VALUES read as a block;
the `GP_TEST` (`PATH = dat\GP_TEST\`, a debug archive not on the disc) and
`TEXTS` sibling records; the per-stage phase census (40 stage-phases over the
22 story stages, 1-3 phases each, the six with none being 18-23); and the five
`pgmsg_*.prt` resolving nowhere under 34 prefixes x 41 archives, now with TWO
working controls in the same sweep.
***(2026-08-27) `Stage\script.tbl`'s 11 NON-`MISSION` FIELDS, READ AT LAST —
and one of them lands on the mission DIALOGUE table.**
[structures/mission-script-manifest](structures/mission-script-manifest.md),

View File

@@ -24,9 +24,9 @@
TEXT_LINES '30'
TEXT_POS '128,128,16'
## do those values resolve as pak entries? (33 prefixes x 41 archives)
## do those values resolve as pak entries? (34 prefixes x 41 archives)
MissionDialogMessage.tbl FOUND as message\MissionDialogMessage.tbl in 6 archives
MissionDialog_local_string.tbl not found
MissionDialog_local_string.tbl FOUND as language\MissionDialog_local_string.tbl in 6 archives
pgmsg_start.prt not found
pgmsg_end.prt not found
pgmsg_update.prt not found
@@ -37,7 +37,12 @@
## message\MissionDialogMessage.tbl -- 200 records, 25280 bytes
name families S<NN>_P<n>_<KIND>: {'HINT_PAUSE': 40, 'HINT': 40, 'LOSE': 40, 'GRAPH': 40, 'OBJECTIVE': 40}
field counts: {4: 120, 3: 40, 1: 40}
per kind (total fields, NAMED fields) -> count:
GRAPH {(1, 1): 40}
HINT {(3, 0): 40}
HINT_PAUSE {(4, 0): 40}
LOSE {(4, 0): 40}
OBJECTIVE {(4, 0): 40}
stages present (22): [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 24, 25, 26, 27, 28, 29]
phases per stage: {1: 2, 2: 3, 3: 3, 4: 2, 5: 2, 6: 3, 7: 2, 8: 2, 9: 3, 10: 1, 11: 2, 12: 2, 13: 1, 14: 2, 15: 2, 16: 2, 24: 1, 25: 1, 26: 1, 27: 1, 28: 1, 29: 1}
CONTROL subset of the 28 shipped stages: True ; shipped with NO hints: [18, 19, 20, 21, 22, 23]

View File

@@ -20,20 +20,50 @@ Two sibling records in the same file, also unread until now:
and `TEXTS` (`FONT_SIZE 33`, `TEXT_LINES 3`, `TEXT_POS 296,565,39` — a second,
larger text style beside `SCRIPTS`'s own 15/30/`128,128,16`).
## 🔑 `message\MissionDialogMessage.tbl` — found, and it is keyed by stage AND phase
> ## ❌ CORRECTION (2026-08-27, same day) — the dialogue table was ALREADY KNOWN,
> ## and one "not found" was a FALSE NEGATIVE
>
> This page announced `message\MissionDialogMessage.tbl` as a find.
> **[ixud-localised-text](ixud-localised-text.md) owns it** and already states
> that `S02_P1_OBJECTIVE` and friends "are record names in an **IDXD** map,
> `message\MissionDialogMessage.tbl`, whose positional fields list the
> *lowercase* per-line IXUD names", and that "`*_GRAPH` is the odd one: a single
> named field holding a texture, `pgmsg_stg02_1.t32`". I grepped the manifest
> doc and not the text doc. **Third overclaim in four days.**
>
> Worse, the sweep's headline negative was wrong.
> **`MissionDialog_local_string.tbl` DOES resolve — as
> `language\MissionDialog_local_string.tbl`, IXUD, in all six
> `GP_MAIN_GAME_*` paks.** My 33 prefixes omitted `language\`, which is exactly
> the convention `ixud-localised-text.md` records for language paks. A prefix
> sweep is only as good as its prefix list, and the list should have come from
> the corpus.
>
> Also wrong here: "`LOSE` has exactly one entry". Per kind the shapes are
> `HINT_PAUSE` 4, `HINT` 3, `LOSE` 4, `OBJECTIVE` 4 positional fields, and
> **`GRAPH` 1 NAMED field** — the `.t32` texture. The single-field bucket was
> `GRAPH`, not `LOSE`.
>
> **What survives as new**: the 11 field VALUES read as a block, the `GP_TEST`
> and `TEXTS` sibling records, the per-stage phase census, and the five
> `pgmsg_*.prt` still resolving nowhere.
Probed 7 values × 33 prefixes × 41 archives. **One resolves**:
`message\MissionDialogMessage.tbl`, in all six `GP_MAIN_GAME_*` paks.
## `message\MissionDialogMessage.tbl` — keyed by stage AND phase
Probed 7 values × 34 prefixes × 41 archives. **Two resolve**:
`message\MissionDialogMessage.tbl` (IDXD) and
`language\MissionDialog_local_string.tbl` (IXUD), each in all six
`GP_MAIN_GAME_*` paks.
**200 records, 25 280 bytes**, every name of the form
`S<NN>_P<n>_<KIND>` with five kinds, 40 each:
| kind | fields | reading |
|---|---:|---|
| `HINT_PAUSE` | 4 | the pause menu's hint lines |
| `HINT` | 4 | 🟡 in-mission hint |
| `HINT` | 3 | 🟡 in-mission hint |
| `OBJECTIVE` | 4 | 🟡 the objective text |
| `GRAPH` | 3 | 🟡 |
| `LOSE` | 1 | 🟡 the failure line |
| `LOSE` | 4 | 🟡 the failure lines |
| `GRAPH` | **1 NAMED** | ✅ a `.t32` texture — `S10_P1_GRAPH``pgmsg_stg10_1.t32` |
The fields are **positional, tagged 0…3**, and each value is a message key:
`S10_P1_HINT_PAUSE``S10_P1_Hint_Pause_00 … _03`. So this is an index from
@@ -47,14 +77,13 @@ with no hints at all are **1823**, the tutorials
fifth independent route to the same story/tutorial split, and it also gives the
**phase count per stage** — 1 to 3, e.g. S02 and S03 have 3, S10 and S13 have 1.
## 🟡 The other six values do not resolve — with a working control
## 🟡 Five values still do not resolve — with two working controls
`MissionDialog_local_string.tbl` and all five `pgmsg_*.prt` are **not a pak
entry** under any of the 33 prefixes tried (`message\`, `Stage\`, `2d\`, `ui\`,
`prt\`, six language dirs, and the language dirs under `Stage\` and `message\`).
The control is in the same loop and in the same sweep:
`message\MissionDialogMessage.tbl` **does** resolve, and so does
`Stage\script.tbl` itself, both in 6 archives.
All five `pgmsg_*.prt` are **not a pak entry** under any of the 34 prefixes
tried. Two controls sit in the same sweep and both resolve in 6 archives:
`message\MissionDialogMessage.tbl` and
`language\MissionDialog_local_string.tbl` — the second only after the
correction above added `language\`.
This is the same wall [mission-phase-advance](../mission-phase-advance.md) hit
for the manifest's KEYS — but that sweep probed `MISSION1..33` and
@@ -70,8 +99,6 @@ doubles the apparent hit count of any prefix sweep.
## 🟡 Not settled
* Where the five `pgmsg_*.prt` screen parts and
`MissionDialog_local_string.tbl` actually live.
* What `GRAPH` selects, and why `LOSE` carries exactly one entry.
* Where the five `pgmsg_*.prt` screen parts live.
* `dat\GP_TEST\` is named by the manifest and is not on the disc — a debug path
left in, not a missing asset. Not chased.