This is a C++ rewrite and extension of bnkextr originally written by CTPAX-X in Delphi.
It extracts WEM files from the ever more popular Wwise BNK format and from Wwise PCK file packages (AKPK).
Use ww2ogg to convert WEM files to the OGG format.
Usage: bnkextr filename.bnk|filename.pck [/swap] [/nodir] [/obj]
/swap - swap byte order (use it for unpacking 'Army of Two')
/nodir - create no additional directory for the extracted files
/obj - generate an objects.txt (BNK) or files.txt (PCK) file with the extracted data
The format is detected by the file signature, not by the file extension.
- See the original Delphi code for the initial file specification
- See the XeNTaX wiki for a more complete file specification
- See the bnk.bt file for 010 Editor specification
- See the bnk.ksy file by ADawesomeguy for a Kaitai Struct specification
- See the pck.bt file for 010 Editor specification
- Streamed and external files are extracted as
<id>.wem - Embedded sound banks are extracted as
<id>.bnkand then unpacked into a directory of the same name - If a package holds more than one language, every language gets its own directory
- Encrypted packages are not supported
- Generic event type logging
- Event
- EventAction
cmake -S . -B build/
cmake --build build/ --target install
g++ bnkextr.cpp -std=c++17 -static -O2 -s -o bnkextr.exe
bnkextr.dprfalls under the original copryright holders rights and is solely kept for archival purposebnkextr.cppis available under 2 licenses: Public Domain or MIT -- choose whichever you prefer