Edit subtitles and menu text
This commit is contained in:
File diff suppressed because it is too large
Load Diff
@@ -4,6 +4,8 @@
|
||||
|------|---------|
|
||||
| `<ARCHIVE>.csv` | every sound of one audio archive: `ITA`, `INT`, `FRA`, `DEU`, `ESN` (speech WADs, one per language), `SFX` (music, ambience and effects streamed from the SFX WAD) and `BANK` (in-memory sounds stored inside soundbanks: footsteps, foley, combat, weapons, UI, efforts; `docs/formats/banks.md`) |
|
||||
| `BANK_locations.csv.gz` | every stored copy of the `BANK` sounds, and the prefetch heads of speech lines (below) |
|
||||
| `SUB_<LANG>.csv` | subtitles of the speech lines, one file per language (11 languages; `docs/formats/subtitles.md`) |
|
||||
| `SUB_locations.csv.gz` | every stored copy of each subtitle string (dialogue objects in the packages) |
|
||||
| `characters.csv` | `name,character`: verified speaker per sound name (language independent) |
|
||||
| `index.json` | per archive: fingerprint of the game files the CSV was built from (`ackit/game.py: wad_fingerprint`, `ackit/banks.py: game_fingerprint`) and counts |
|
||||
| `source/<lang>/*.txt` | **the curated original lists** (one file per character, one wemscan-style file name per line, e.g. `Speech_TAPE_JOKER_1_4.wem`). `Files.txt` = all files, `Stats.txt` = counts, `Checkpoint.txt` = progress marker. Never edited by tools. |
|
||||
@@ -40,6 +42,19 @@ All CSVs are UTF-8 with a header row. They contain only names and metadata (no g
|
||||
A replacement is written into every `m` copy of a BANK sound; replacing a speech line also rewrites its `p`
|
||||
heads (`docs/formats/banks.md`).
|
||||
|
||||
## `SUB_<LANG>.csv` columns
|
||||
| column | meaning |
|
||||
|--------|---------|
|
||||
| `speech` | the speech event of the line (e.g. `Speech_CHURCH_B1_Ch2_POST_Explosion_BM_Cash_04`) |
|
||||
| `line` | 0-based line of a multi-line subtitle |
|
||||
| `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 |
|
||||
|
||||
`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`).
|
||||
|
||||
The editor uses these files directly when the installed game matches `index.json`; for another game build it
|
||||
scans the game itself and applies the same rules (no checksums then; the bank scan takes a few minutes).
|
||||
`ackit verify --catalog` cross-checks the catalog in use against the game files (`--quick` samples packages).
|
||||
|
||||
9639
data/catalog/SUB_DEU.csv
Normal file
9639
data/catalog/SUB_DEU.csv
Normal file
File diff suppressed because it is too large
Load Diff
9477
data/catalog/SUB_ESM.csv
Normal file
9477
data/catalog/SUB_ESM.csv
Normal file
File diff suppressed because it is too large
Load Diff
9469
data/catalog/SUB_ESN.csv
Normal file
9469
data/catalog/SUB_ESN.csv
Normal file
File diff suppressed because it is too large
Load Diff
9541
data/catalog/SUB_FRA.csv
Normal file
9541
data/catalog/SUB_FRA.csv
Normal file
File diff suppressed because it is too large
Load Diff
9380
data/catalog/SUB_INT.csv
Normal file
9380
data/catalog/SUB_INT.csv
Normal file
File diff suppressed because it is too large
Load Diff
9353
data/catalog/SUB_ITA.csv
Normal file
9353
data/catalog/SUB_ITA.csv
Normal file
File diff suppressed because it is too large
Load Diff
9017
data/catalog/SUB_JPN.csv
Normal file
9017
data/catalog/SUB_JPN.csv
Normal file
File diff suppressed because it is too large
Load Diff
9230
data/catalog/SUB_KOR.csv
Normal file
9230
data/catalog/SUB_KOR.csv
Normal file
File diff suppressed because it is too large
Load Diff
9353
data/catalog/SUB_POL.csv
Normal file
9353
data/catalog/SUB_POL.csv
Normal file
File diff suppressed because it is too large
Load Diff
9451
data/catalog/SUB_POR.csv
Normal file
9451
data/catalog/SUB_POR.csv
Normal file
File diff suppressed because it is too large
Load Diff
9470
data/catalog/SUB_RUS.csv
Normal file
9470
data/catalog/SUB_RUS.csv
Normal file
File diff suppressed because it is too large
Load Diff
BIN
data/catalog/SUB_locations.csv.gz
Normal file
BIN
data/catalog/SUB_locations.csv.gz
Normal file
Binary file not shown.
@@ -73,7 +73,7 @@
|
||||
},
|
||||
"copies": 93910,
|
||||
"files": 1499,
|
||||
"named_by_event": 6416,
|
||||
"named_by_event": 6456,
|
||||
"prefetch_heads": {
|
||||
"lines": 396,
|
||||
"copies": 2101,
|
||||
@@ -81,5 +81,37 @@
|
||||
},
|
||||
"issues": []
|
||||
},
|
||||
"SUB": {
|
||||
"fingerprint": "3f9766af425b8eef",
|
||||
"lines": {
|
||||
"DEU": 9638,
|
||||
"ESM": 9476,
|
||||
"ESN": 9468,
|
||||
"FRA": 9540,
|
||||
"INT": 9379,
|
||||
"ITA": 9352,
|
||||
"JPN": 9016,
|
||||
"KOR": 9229,
|
||||
"POL": 9352,
|
||||
"POR": 9450,
|
||||
"RUS": 9469
|
||||
},
|
||||
"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
|
||||
},
|
||||
"copies": 168122,
|
||||
"issues": []
|
||||
},
|
||||
"_info": "unmodified game files"
|
||||
}
|
||||
Reference in New Issue
Block a user