-
Notifications
You must be signed in to change notification settings - Fork 20
Audiokinetic Wwise
The Mafia 3, Mafia 3: Definitive Edition and Mafia: Definitive Edition all use the Audiokinetic Wwise audio implementation for all ingame sounds. All of these sounds are stored inside PCK and BNK files, for which there is not an official editor, but luckily the Toolkit now does support opening and editing these files.
The Wem files are Audiokinetic's equivalent of a Wav audio file. The contain the sounds themselves, usually compressed using "Vorbis" compression. They can be decompressed and converted to a playable Wav using VGMStream.
The PCK files or Audiokinetic Pack files are used as a storage for most of the ingame sounds. Usually when a Wem file is so big that loading it in real time would cause a delay, it is stored inside a PCK file and then streamed.
These files contain Wem files and all of the audio configuration the game uses. Each Wem file has its own configuration hierarchy stored inside a BNK file. Some Wem files inside a BNK are trimmed, that is because the game uses this trimmed version of the Wem file to start playing the sound while it waits for the full version from a PCK file to load.
This BNK file contains configurations and states that are then used by all of the other BNK files found in the games, without this file, the audio system will fail to load. It is also the very first BNK file the game loads.
The HIRC (Hierarchy) is a section found in BNK files. It contains all of the configuration and events for each Wem found inside the BNK itself or the corresponding PCK.
Each of the HIRC Objects contains specific configuration and is linked to another HIRC Object.
- Music Segment
Contains information about the playtime and tempo of a Wem. It can be used to play specific parts of a Wem, without having to trim and import a new one.
- Music Track
This object is used to assign Wems to the Music Segment object. It also stores information about transition effects.
- Music Sequence
This object contains a list of Music Segment objects that will play in a sequence. For example, the Mafia: Definitive Edition menu music is all contained within one Music Sequence object and plays in a loop until it is told to stop.
- Music Switch Container
This object decides which Music Sequence object starts playing, using "Decision Trees". How the decision is achieved is unknown.
- Event Action
This object is directly resposible for playing, stopping, pausing and adding effects to audio. It contains information about each specific action and which object should be called to execute the action. Usually a Music Sequence or Music Switch Container object gets called.
- Event
Used by the game to call Event Action objects.
The use of the rest of the HIRC Objects is currently unknown.