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:
25
NOTES.md
25
NOTES.md
@@ -20,7 +20,7 @@
|
||||
`ackit/bnk.py` (bank parsing: DIDX/DATA/HIRC sources). Docs: formats/upk.md, banks.md. Findings: pure-Python
|
||||
LZO ~47 MB/s (== decompress.exe on every block); 15,800 media IDs in 96,011 copies, 396 are prefetch heads
|
||||
of WAD sounds (2,101 copies) -> 15,404 in-memory sounds; copies identical except 1C898731.
|
||||
2. [x] Catalog archive `BANK` (15,404 sounds, 6,416 named by events, now 6,456) + `BANK_locations.csv.gz` (93,910 copies,
|
||||
2. [x] Catalog archive `BANK` (15,404 sounds, 6,416 named by `Play_` events; now 15,355, 13,501 named by events) + `BANK_locations.csv.gz` (93,910 copies,
|
||||
2,101 prefetch heads of 396 speech lines); `ackit verify --catalog` (full: catalog OK; fixed 2 duplicate
|
||||
names per language: variation shown as NAME#i); categories for bank prefixes.
|
||||
3. [x] Workspace writes BANK sounds into every copy and keeps speech-line prefetch heads in sync (bank files
|
||||
@@ -87,6 +87,26 @@
|
||||
from the rules: 54,079 / 54,080 identical (INT FE9963E8:74: avg-bytes/s field one lower, informational).
|
||||
Removed unused code (helpers/constants nothing called, the key-posting debugger helper, a double refilter
|
||||
after changes); old dist zips, logs/ and caches deleted.
|
||||
- 2026-10-10 final check (user: "is everything fact checked ... functioning ... documentation correct?"):
|
||||
every number in the docs recomputed from the catalog and a fresh game scan; stale ones fixed (positions differ
|
||||
for 81.2-81.6 %, not 75 %; 8,092 neutral BANK sounds; 24 unlinked subtitle names; 637 position-named lines;
|
||||
14,802 package media; subtitle coverage 9 % combat barks, 23 % cinematics; speaker coverage by line). Bugs
|
||||
found and fixed (findings 23): 49 WAD recordings also stored whole in banks were separate BANK sounds (now
|
||||
bank copies of the line, written with it); 8 BANK/SFX name clashes; name lookup preferred no name over an
|
||||
alias (CLI "ambiguous" for e.g. `CHR_RadioScanner#1` in FRA). `ackit verify --lang` now applies (catalog: that
|
||||
language only; in-game: must be the game's language). Subtitle error message says Windows-1252, not Latin-1.
|
||||
Catalog rebuilt from the original files; `verify --catalog` OK (2,185 / 2,185 bank copies of WAD recordings
|
||||
identical), e2e_features --lang all 89/89, e2e_editor, --ingame/--banks/--texts PASS, 132 tests; game original
|
||||
after. Version 3.2.1: dist/UnheardCity-3.2.1-windows-amd64.zip smoke + GUI start PASS.
|
||||
- 2026-10-10 re-check (user: "fact check everything again"): the catalog rebuilt from the game is identical to the
|
||||
shipped one (every CSV and location index), and `verify --catalog` gives the same facts. Figures in the docs are
|
||||
now checked by `tools/check_docs.py` (catalog, index.json, menu files; `--scan`: bank survey + catalog-check
|
||||
facts; `--wems`: every WEM rebuilt); the build records the scan-only figures in index.json (names by event,
|
||||
dialogue objects, WAD lines named after a recording). It found what hand-copied figures had wrong: 61,510
|
||||
"recordings" counted the 25 second places (61,485 recordings; the stat was fixed too), 81.2-81.6 % (not 81-82),
|
||||
the loose/embedded bank-name overlap, REPORT's test count, wem.md's SFX claim (626 / 651 rebuild, not "all but 4
|
||||
looping tracks": 14 music seek tables, 5 music sample counts, 6 ambience `smpl` loops) and its extra-chunk count
|
||||
(722 WEMs, not 37). New test: cross-references between the shipped files.
|
||||
- NEXT (needs a person): play a mission with a replaced footstep/foley sound and an edited subtitle (REPORT.md).
|
||||
- OPEN: channel order for >2 channels unverified; speech and in-memory sounds *heard* in-game (need gameplay;
|
||||
posted keys do not drive the menu).
|
||||
@@ -180,4 +200,5 @@
|
||||
- 2026-10-10: source lists of another language (`source/<lang>/`) are resolved through THAT language's WAD
|
||||
positions; ~1,270 speech sounds per language have no game line name (efforts 519, radio/TV 139, cinematics
|
||||
134) and keep position names (`Sound.is_position_name`): their labels stay per language and mod packages from
|
||||
another language are not matched to them.
|
||||
another language are not matched to them. (Superseded the same day by the line identities of `ackit/lines.py`;
|
||||
`is_position_name` was removed.)
|
||||
|
||||
Reference in New Issue
Block a user