Version 3.1.0: voice lines linked across all languages from the game data
This commit is contained in:
26
README.md
26
README.md
@@ -13,8 +13,10 @@ game patch, no external programs.
|
||||
|
||||
How it works in one paragraph: the game's Wwise 2011.1 decoder only knows the standard Vorbis codebooks, so ackit
|
||||
encodes with libvorbis and rewrites the stream into exactly the layout the game expects (codebook IDs, packet
|
||||
format, seek table, header hash and memory size reversed from the game), then writes it into the `.wad`
|
||||
archives atomically, keeping the original bytes in a store for exact reverts. Details in `docs/`.
|
||||
format, seek table, header hash and memory size reversed from the game), then writes it in place into the
|
||||
`.wad` archives, the soundbanks and the game's compressed `.upk` packages (ackit reads and patches them itself),
|
||||
keeping the original files in a store for exact reverts. Subtitles live in the packages too, menu text in the
|
||||
localization files. Details in `docs/`.
|
||||
|
||||
## Install
|
||||
- **Editor (users), Windows:** unzip `UnheardCity-<version>-windows-amd64.zip` and double-click **Install.cmd**.
|
||||
@@ -31,16 +33,16 @@ archives atomically, keeping the original bytes in a store for exact reverts. De
|
||||
|
||||
## Quick start (command line)
|
||||
```
|
||||
ackit find joker tape # search by name, category or character
|
||||
ackit extract Speech_TAPE_JOKER_1_4 orig.wav # listen to the original
|
||||
ackit replace Speech_TAPE_JOKER_1_4 my_line.wav --match-loudness
|
||||
ackit revert Speech_TAPE_JOKER_1_4 # or: ackit revert --all
|
||||
ackit find joker tape # search by name, category or character
|
||||
ackit extract Speech_TAPE_JOKER_1_04 orig.wav # listen to the original (a line has one name in every language)
|
||||
ackit replace Speech_TAPE_JOKER_1_04 my_line.wav --match-loudness
|
||||
ackit revert Speech_TAPE_JOKER_1_04 # or: ackit revert --all
|
||||
ackit text find --lang ITA protocollo # subtitles and menu texts (keys SUB:... / MENU:...)
|
||||
ackit text set "MENU:ITA:FRONTEND.ITA:Menu:Start" "Premi Invio"
|
||||
```
|
||||
More: `ackit status`, `ackit list --character Joker`, `ackit export-mod my.acmod` / `ackit import-mod`,
|
||||
`ackit verify` (offline self-check), `ackit game` (detected install, language, store). `ackit -h` lists all
|
||||
commands. The game folder is found through Steam (Windows, Linux, Flatpak, Proton); otherwise pass `--game DIR`.
|
||||
`ackit verify` (offline self-check), `ackit verify --catalog` (catalog vs game files), `ackit game` (detected
|
||||
install, language, store). `ackit -h` lists all commands. The game folder is found through Steam (Windows, Linux, Flatpak, Proton); otherwise pass `--game DIR`.
|
||||
|
||||
Rules worth knowing: speech/effects replacements must fit in the original's size (the tool squeezes or refuses
|
||||
with the maximum length); music can be any length. Subtitles must fit the original text's length (menu text:
|
||||
@@ -54,9 +56,13 @@ app/ Unheard City (PySide6)
|
||||
tests/ pytest suite (synthetic game data; real-game tests run when the game is installed)
|
||||
data/catalog/ sound catalogs (CSV), character lists (source/), schema in data/catalog/README.md
|
||||
docs/ formats, reverse engineering, decisions, categories, user guide, building
|
||||
tools/ catalog builder, packaging (build_app.py, installer/), artwork and license scripts
|
||||
tools/ catalog builder, real-game e2e checks (e2e_editor.py, e2e_features.py), packaging
|
||||
(build_app.py, installer/), artwork, license and screenshot scripts
|
||||
NOTES.md project status and working notes; CLAUDE.md: guidance for AI sessions
|
||||
```
|
||||
|
||||
Tests: `pytest` (the real-game tests are skipped when the game is not installed).
|
||||
In-game tests (Windows, Steam running, WinDbg installed): `ackit verify --ingame`, `--ingame --banks`, `--ingame --texts`.
|
||||
Real-game write round trips (no game launch): `python tools/e2e_features.py [--lang all]`,
|
||||
`python tools/e2e_editor.py`.
|
||||
In-game tests (Windows, Steam running, WinDbg installed): `ackit verify --ingame`, `--ingame --banks`,
|
||||
`--ingame --texts`.
|
||||
|
||||
Reference in New Issue
Block a user