re: sweep all six language packs -- and Japanese is not missing captions
The five European packs have byte-for-byte identical MSG key sets: 18813 keys, 4091 ids, zero differences in any direction. Japanese has 14295 keys, which looks like 4521 missing captions and is not: its id set matches to within 5, its page count is the same (4765 vs 4758), and its mean lines per page is 1.52 against English's 1.85 with no 4-line pages at all. It carries the same dialogue and wraps into fewer lines, which is what a language without inter-word spaces does in a fixed-width box. Also corrects my own wording in cutscene-message-table.md, which said a page 'holds 3 or 4 wrapped lines'. That counted key SLOTS, which MSG_DEMO records allocate four at a time. Counting lines with text, an English page holds 1 to 4 (1574/2439/632/113). And it reconciles the 8800 figure used throughout: that is distinct English keys with non-empty text, out of 18813 keys total.
This commit is contained in:
@@ -86,7 +86,8 @@ names had no text to resolve *to*, and the 100 % figure was unreachable.
|
||||
* **Which page a `MSG_DEMO_*` id belongs to.** The `DEMO` family is not called
|
||||
from the stage scripts at all — 78 of its ids are multi-page, so something
|
||||
else drives cutscene dialogue. That driver is unidentified.
|
||||
* **The other five languages.** Only the English pack was swept.
|
||||
* ~~**The other five languages.** Only the English pack was swept.~~ ✅ Swept
|
||||
2026-08-26 — see below.
|
||||
* **Ordering.** The tool prints call sites in file order, which is *script*
|
||||
order, not necessarily *play* order — phases and branches are not resolved.
|
||||
|
||||
@@ -96,3 +97,46 @@ names had no text to resolve *to*, and the 100 % figure was unreachable.
|
||||
|
||||
Sample output committed at [../data/isl-stage02-dialogue.txt](../data/isl-stage02-dialogue.txt)
|
||||
(Stage 02, 213 message calls, 213 with text).
|
||||
|
||||
|
||||
## ✅ All six language packs swept (2026-08-26)
|
||||
|
||||
| pack | distinct `MSG_*` keys | with non-empty text | ids | pages |
|
||||
|---|---|---|---|---|
|
||||
| **E** English | 18 813 | **8 800** | 4 091 | 4 758 |
|
||||
| **D** German | 18 813 | — | 4 091 | — |
|
||||
| **F** French | 18 813 | — | 4 091 | — |
|
||||
| **I** Italian | 18 813 | — | 4 091 | — |
|
||||
| **S** Spanish | 18 813 | — | 4 091 | — |
|
||||
| **J** Japanese | 14 295 | 7 266 | 4 087 | 4 765 |
|
||||
|
||||
The five European packs have **byte-for-byte identical key sets** — zero keys
|
||||
missing, zero extra, in any direction. Only Japanese differs, and the difference
|
||||
is not missing content:
|
||||
|
||||
* its **id** set matches to within 5 missing and 1 extra of 4 091;
|
||||
* its **page** count is 4 765 against English's 4 758 — the same;
|
||||
* its **lines per page** are fewer: mean **1.52** vs **1.85**, and it never uses
|
||||
a 4-line page where English has 113.
|
||||
|
||||
So Japanese carries the same dialogue and simply **wraps into fewer lines**,
|
||||
which is what a language without inter-word spaces does in a fixed-width box.
|
||||
The 4 521 "missing" keys are line slots that were never needed. ❌ A reading of
|
||||
"Japanese is missing 4 521 captions" would be wrong.
|
||||
|
||||
### ⚠️ Correcting my own wording elsewhere
|
||||
|
||||
[cutscene-message-table.md](cutscene-message-table.md) says a page holds "3 or 4
|
||||
wrapped lines (4 506 of 4, 263 of 3 — no other width occurs)". That measured
|
||||
**key slots**, which the `MSG_DEMO` records allocate four at a time. Counting
|
||||
lines that actually carry text, an English page holds **1 to 4**:
|
||||
|
||||
1 line: 1 574 2 lines: 2 439 3 lines: 632 4 lines: 113
|
||||
|
||||
Both numbers are true of different things, but "holds 3 or 4 wrapped lines"
|
||||
reads as a statement about the text and is wrong as such. A page has up to four
|
||||
slots and usually fills one or two.
|
||||
|
||||
This also reconciles the **8 800** figure quoted throughout the corpus: it is
|
||||
distinct English keys *with non-empty text*, out of 18 813 keys in total. The
|
||||
larger number is not a contradiction — most slots are empty.
|
||||
Reference in New Issue
Block a user