diff --git a/docs/re/structures/movie-subtitles.md b/docs/re/structures/movie-subtitles.md index 984e97b..29e75dc 100644 --- a/docs/re/structures/movie-subtitles.md +++ b/docs/re/structures/movie-subtitles.md @@ -310,3 +310,36 @@ Message_044: voice = VOICE_E_012B `VOICE_C_468` ↔ `MSG_VOICE_C_385`, `VOICE_D_182` ↔ `MSG_VOICE_D_152`, `VOICE_E_012B` ↔ `MSG_VOICE_E_044`. Same family letter, **different index space**. Deriving one from the other will silently mis-pair audio and text. + +## ❔ The crate reads 1.3 % of the game's text + +`movie_subtitle` handles the `MSG_DEMO_*` family — the cutscene captions. That is +the **smallest of eight** caption families in the English pak, and the rest have +no reader. + +Counted over every IXUD block in `GP_MAIN_GAME_E.pak`: + +| family | keys | with text | what it is | +|---|---|---|---| +| `MSG_ADAN` | 23 236 | **9 801** | ADAN combat chatter | +| `MSG_RHIN` | 21 196 | **8 509** | Rhino squadron chatter | +| `MSG_TCAF` | 17 148 | **6 728** | TCAF chatter | +| `MSG_VOICE` | 13 060 | **6 776** | in-mission scripted dialogue | +| `MSG_BIRD` | 14 036 | **5 834** | Bird squadron chatter | +| `MSG_ADPL` | 12 640 | **4 127** | ADAN pilots | +| `MSG_ACRO` | 4 804 | **2 244** | Acropolis | +| **`MSG_DEMO`** | **1 252** | **560** | **cutscene captions — the only one read** | +| **total** | **107 372** | **44 579** | | + +**560 of 44 579 = 1.3 %.** (41.5 % of keys carry text; the rest are the empty +line slots this container uses for padding, so the "with text" column is the +honest denominator.) + +`MSG_VOICE_*` is the family the message tables reference — the dialogue whose +voice bindings are analysed above — and nothing in `crates/` parses it. + +▶️ **First step:** `movie_subtitle::build_demo_text` already pairs a text value +with the `MSG_DEMO___` key that follows it; the other seven +families use the same `__` shape, so generalising the key parser +is most of the work. ⚠️ Do **not** assume the id spaces relate — the voice-bank +id and the caption id in one message page are different numbers (above).