Version 3.1.0: voice lines linked across all languages from the game data
This commit is contained in:
@@ -26,14 +26,19 @@ Rules:
|
||||
Payload kinds:
|
||||
- **LOC WADs**: each entry is a group of WEMs, the variations of one line (ITA: 10816 WEMs in
|
||||
2464 entries; e.g. `CHR_RadioScanner` holds 91). Each WEM starts at the next 0x800 boundary after
|
||||
the previous one (zero padding); 3 entries pack two WEMs back to back. Addressed `HASH:i`.
|
||||
the previous one (zero padding); 3 entries pack two WEMs back to back. Addressed `HASH:i`. The WEMs of an
|
||||
entry are stored in media-ID order and the languages have different media IDs, so variation `i` is a
|
||||
different line in each language (75 % of the lines). Which recording is which line comes from the banks
|
||||
(`banks.md`, *Lines*), not from positions.
|
||||
- **SFX WAD**: 79 grouped ambience/effect entries (260 WEMs) plus 4 **stream packs** (below).
|
||||
|
||||
Where the game gets the inner offsets: the entry IDs appear next to `BKPK` headers inside the
|
||||
LZO-compressed UE3 packages (e.g. `BmGame.upk`, `OW.upk`, `Church_B1_*.upk`). Those embedded BKPK
|
||||
tables give each WEM's offset **and size**. ackit does not rewrite `.upk` files, so these WEMs are
|
||||
replaced **in place, no larger than the original** (zero-filled to the original size), and the WAD
|
||||
layout never changes. The user's earlier quickbms-reimport mod did the same and was loaded by the game.
|
||||
LZO-compressed UE3 packages (e.g. `BmGame.upk`, `OW.upk`, `Church_B1_*.upk`). A speech entry has one table
|
||||
per language, inside a localized `AkBank` export (its k-th table belongs to the k-th language the export lists;
|
||||
the SFX WAD's 79 tables are outside such exports). Those embedded BKPK tables give each WEM's offset **and
|
||||
size**; in every language each WEM has exactly one row (`banks.md`, *Lines*). ackit never changes them,
|
||||
so these WEMs are replaced **in place, no larger than the original** (zero-filled to the original size), and
|
||||
the WAD layout never changes. The user's earlier quickbms-reimport mod did the same and was loaded by the game.
|
||||
Only the 4 SFX stream packs, whose BKPK index is a loose `.bnk`, can change size.
|
||||
|
||||
## BKPK stream packs (`SFX\<ID>.bnk` + SFX WAD entry `<ID>`)
|
||||
@@ -61,9 +66,9 @@ end rounded up to 0x800. Padding is mostly zero (a few non-zero bytes in `EDF036
|
||||
original bytes where nothing moved).
|
||||
|
||||
Replacing a pack media (`ackit` target `EDF036D6/393BC53A`) rewrites the pack table (`.bnk`), the
|
||||
WAD entry payload, and the WAD table/offsets. Verified in-game (NOTES.md, E2).
|
||||
WAD entry payload, and the WAD table/offsets. Verified in-game (findings E2, E14).
|
||||
|
||||
## Regular soundbanks
|
||||
|
||||
The other `SFX\*.bnk` files and the banks embedded in `.upk` packages hold their WEMs in memory (not in a
|
||||
WAD); see `banks.md`. The toolkit does not read or modify them yet.
|
||||
WAD); ackit lists and writes them as the catalog archive `BANK` (`banks.md`).
|
||||
|
||||
Reference in New Issue
Block a user