Version 3.2.1: whole bank copies of voice lines, unique names, docs figures checked by tools/check_docs.py
This commit is contained in:
@@ -3,10 +3,14 @@
|
||||
Derived from the game's WEMs; `ackit verify` / `tests/test_realgame.py` rebuild them byte-for-byte from these rules
|
||||
alone. Checked on every WEM of the 5 speech WADs: 54,079 of 54,080 are identical; the exception (INT
|
||||
`FE9963E8:74`) differs only in the informational avg-bytes/s field (one lower than the formula below). In SFX
|
||||
only the 4 looping music tracks with loop points differ.
|
||||
626 of 651 are identical; the others are 14 music tracks whose seek table follows another placement (one entry per
|
||||
1,024-1,103 samples), 5 music tracks whose sample count exceeds what their packets hold, and 6 4-channel
|
||||
ambience WEMs with a `smpl` (loop) chunk. These rules are not needed to write sounds the game plays (replaced
|
||||
music, built with the rules here, is heard in game: `ackit verify --ingame`), only to reproduce those originals.
|
||||
|
||||
## RIFF layout
|
||||
`RIFF` size `WAVE`, then `fmt ` (0x42 bytes), optional `cue `/`LIST` (37 files), `data`.
|
||||
`RIFF` size `WAVE`, then `fmt ` (0x42 bytes), optional `LIST` + `cue ` (659 WEMs), `LIST` + `cue ` + `smpl` (1 WEM),
|
||||
`cue ` (18 WEMs), `cue ` + `smpl` (3 WEMs), `smpl` (41 WEMs), `data`.
|
||||
Odd-sized `data` chunks are **not** padded.
|
||||
|
||||
### `fmt ` (0x42)
|
||||
|
||||
Reference in New Issue
Block a user