One language setting; localized in-memory speech per language

This commit is contained in:
2026-10-09 23:09:07 +02:00
parent 98ec2fe9c4
commit f29af40b37
40 changed files with 77414 additions and 77240 deletions

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

View File

@@ -22,6 +22,7 @@ All CSVs are UTF-8 with a header row. They contain only names and metadata (no g
| `group` | Speech, Music, Ambience, SFX, Unknown (`docs/categories.md`) |
| `category` | finer category (`docs/categories.md`) |
| `bank` | BANK: the soundbank holding the sound (first by name if several do); empty for WAD sounds |
| `language` | BANK: language of a localized speech line (`INT`, `FRA`, `ITA`, `DEU`, `ESN`); empty = shared by all languages. The editor shows the shared sounds + the selected language's lines; names are unique per language |
| `character` | verified speaker(s) from `characters.csv`, `; `-separated, empty if unknown |
| `characters_inferred` | characters/roles mentioned by the name (and bank) (hint only) |
| `seconds`, `rate`, `channels` | of the original sound |
@@ -50,7 +51,7 @@ heads (`docs/formats/banks.md`).
| `text` | original subtitle text |
| `room` | maximum length of a replacement in characters (it is written in place) |
| `enc` | `a` = cp1252 string, `w` = UTF-16 string |
| `sound` | key of the linked speech sound (this language's WAD, or `INT:` for languages without speech WADs); empty when no event reaches a sound |
| `sound` | key of the linked speech sound: this language's WAD line or in-memory `BANK:` line (the INT ones for languages without voices); empty when no event reaches a sound |
`SUB_locations.csv.gz`: `lang, speech, line, file, pos` (hex, uncompressed offset of the FString), `size`, `enc`.
Menu text has no catalog: the localization files are read directly (`docs/formats/text.md`).

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

View File

@@ -98,17 +98,17 @@
},
"speech_lines": 9016,
"linked": {
"DEU": 8884,
"ESM": 8712,
"ESN": 8741,
"FRA": 8790,
"INT": 8637,
"ITA": 8623,
"JPN": 8318,
"KOR": 8510,
"POL": 8613,
"POR": 8700,
"RUS": 8724
"DEU": 9537,
"ESM": 9360,
"ESN": 9375,
"FRA": 9430,
"INT": 9265,
"ITA": 9243,
"JPN": 8904,
"KOR": 9116,
"POL": 9238,
"POR": 9335,
"RUS": 9352
},
"copies": 168122,
"issues": []