Version 3.2.0: fast lists with loading spinners, names from the game files, INT docs and screenshots, cleanup

This commit is contained in:
2026-10-10 14:58:17 +02:00
parent fbde809370
commit 1586abb8e9
40 changed files with 449 additions and 19279 deletions

View File

@@ -66,11 +66,27 @@
per language). `tools/e2e_features.py --lang all` 78/78; `--ingame`, `--banks`, `--texts`, e2e_editor PASS;
127 tests; game original after. Speaker labels vs the dialogue speaker field: 2,766 agree, 19 differ (listed in
categories.md, for the user to check by listening; the source lists are never edited). The user's guide files
(`ArkhamCityModding/Audio/AbdAshes' ...`) hold no relation data: the hashlist equals ackit/data/hashlist.txt,
(`ArkhamCityModding/Audio/AbdAshes' ...`) hold no relation data: their hashlist was ackit/data/hashlist.txt,
the scripts only unpack (wemscan = position names). `data/catalog/source/ita/Checkpoint.txt` was found deleted
(no code touches source/; cause unknown) and restored from git. Version 3.1.0 (minor):
dist/UnheardCity-3.1.0-windows-amd64.zip smoke PASS. e2e_features now deletes its temporary stores (GBs of
full copies) when everything reverted. NEXT: UI fixes the user will name.
full copies) when everything reverted.
- 2026-10-10 (user: order in the browser "messed up" after filter changes; redundant files): the proxy had
dynamic sorting off, so rows a filter showed again were appended at the end -> dynamic sort on (+ GUI test).
ackit/data/hashlist.txt removed: its 2,544 names the catalog uses are exactly the game's CookedBanks.txt bank
names (WAD entry ID = FNV-1 of the bank name), so names now come from the game (`catalog.bank_names`);
rebuilt catalogs identical.
- 2026-10-10 (user: filtering/sorting choppy, add spinners like the audio preview): QSortFilterProxyModel
replaced by `app/models.py: RowView` (Python filter + one sort over cached keys): sound list 1.3-1.5 s ->
10-20 ms per sort/filter, text lists 0.26-0.7 s -> ~10 ms. Spinner overlay (`spinner.BusyOverlay`) over the
sound list while it loads and over the subtitle/menu lists, which now load as background jobs (a selection
asked for meanwhile is applied when the rows arrive). GUI tests for order, selection and the overlays.
- 2026-10-10 version 3.2.0: docs use INT (the game's English) for examples and figures; facts measured on this
PC's Italian install stay labelled as such. User-guide screenshots in INT (`tools/screenshots.py --lang`,
default INT; the app itself still starts in the game's language). Every WEM of the 5 speech WADs rebuilt
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.
- 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).