Audio Playback/Conversion¶
Relink uses AudioKinetic's Wwise as its Audio Middleware for playback and file formats. It is generally a pain to deal with both for extraction and creation of new audio.
There are two distinct proprietary formats:
.bnk
- These contain instructions on how to play audio, but does not necessarily contain audio by themsleves (except for_m
banks). You can most of these in thedata/sound
folder of the game..pck
- Contains actual sounds. You can not simply and play them. You will need to extract them first, and will specifically be located in thesound
folder.
Requirements¶
- Game files extracted beforehand.
- foobar2000, Music player.
- vgmstream, Get
.fb2k-component
file. This is a plugin for foobar2000. - Python 3, Required for Wwiser.
- Wwiser, Used to process
.bnk
files. - QuickBms + wwise_pck_extractor.bms + BnkExtr, Used to extract
.pck
files and.bnk
containing audio if you need it. - wwnames.txt (Right-click Save), Names for each Wwise 'event', to tell sound files apart. This file has been manually created after reverse-engineering.
Install foobar2000 + plugin, extract the rest in the same folder, make sure to place wwnames.txt
next to Wwiser.
Playing Audio¶
You should make a copy of the data/sound
folder away from the game for backup purposes & to centralize all sound assets, so create one and merge the extracted sound
folder with it so that you have both .pck
and .bnk
files.
- Drag and drop one or more
.pck
files toextract_pck.bat
. This should create a new folder withwem
files inside. - Open
wwiser.pyz
. Hit Load banks to load.bnk
files (or Load dirs to load ALL.bnk
in a folder). LoadInit.bnk
before any other banks. Wait until the files have loaded. - Hit Generate TXTP. This will create a
txtp
folder with each file containing instruction on how to play every Wwise event. - Drag the folder or individual txtp files to foobar2000.
Tip
You should mark .txtp
files to always open with foobar2000.
Additional Information¶
All this wouldn't have been possible without bnnm's tools and time spent on audio reverse-engineering!
Wwise Information¶
Wwise, Relink & Other Details¶
- Every character that speaks has an associated sound &
lipsync
file found in thesound/lipsync
folder. These were used to reverse the Wwise event names. - For some reason,
YellowTown
= Folca,RedTown
= Seedhollow. - Character emotes/motions and their linked files are defined in their
<entity>_<id1>_<number>_seq_edit_se.xml
file i.enp/np0300/np0300_3040_0_seq_edit_se.xml
. - Audio playback through FSM happens using
SoundTriggerAction
,SoundOneVelAutoTriggerAction
(and potentially more). - The
.wem
files contain a file name (except for certain packs), but aren't necessarily the event's.