A set of tools to extract resources from Gaijin's proprietary formats.
Based on kotiq's new-format branch, which itself is based on Klensy's work. The main goal of forking it was to make some small tweaks to ensure it works with the latest War Thunder data, and to update dependencies as Python 3.7 is now end-of-life. Plus, 3.11 is faster!
Check the releases page for prebuilt binaries for Windows.
If you're more familiar with Python, you might prefer to use the Python package directly. You can either download it and run it as you would any Python scripts, or alternatively install it with pip as a module:
git clone https://github.com/ftsartek/wt-tools
cd wt-tools
pip install .
All of the following examples still pertain to using this as a Python module, simply replace the executable launch, so:
vromfs_unpacker.exe char.vromfs.bin
Becomes
python -m wt_tools.vromfs_unpacker char.vromfs.bin
Tool for unpacking game archives, this archives can contain any type of data:
vromfs_unpacker.exe somefile.vromfs.bin
This will unpack files from somefile.vromfs.bin
to somefile.vromfs.bin_u
folder.
Options:
- -O, --output: path where to unpack vromfs file, if omitted is FILENAME with appended _u, like some.vromfs.bin_u; if used
then, for example
vromfs_unpacker.exe somefile.vromfs.bin --output my_folder
- --metadata: if present, prints metadata of vromfs file: json with {filename: md5_hash}. If
--output
option used, prints to file instead. - --input_filelist: pass the file with list of files you want to unpack and only this files will be unpacked.
File list should be a json array, like:
["buildtstamp", "gamedata/units/tankmodels/fr_b1_ter.blk"]
⚠️ untested
Tool for unpacking texture archives:
dxp_unpack.exe somefile.dxp.bin
This will unpack textures files from somefile.dxp.bin
to somefile.dxp.bin_u
folder,
but textures need to be unpacked with ddsx_unpack.
⚠️ untested
Tool for unpacking textures, can be used to unpack single file or folder:
ddsx_unpack.exe somefile.ddsx
This will unpack texture from somefile.ddsx
to somefile.dds
.
ddsx_unpack.exe some_folder
This will unpack textures from folder some_folder
to some_folder
, unpacked textures will be inside with *.dds
extension.
For unpacking most of textures, you need oo2core_6_win64.dll
, as noted in installation section and will work only in Windows.
The following files are used for the current version: blk_unpack_ng
and blk_unpack_ng_mp
.
Tool for unpacking blk files, that contain some text data
blk_unpack.exe somefile.blk
This will unpack file from somefile.blk
to somefile.blkx
, data will be presented as json.
If you want to get ingame format, you can use this:
blk_unpack.exe --format=strict_blk somefile.blk
This will unpack blk file to somefile.blkx
in format, that can be used by game.
If you want unpack multiple files, pass folder name instead file name:
blk_unpack.exe folder_name
This will unpack all blk filed in this folder into blkx files.
Tool for 'decrypting' *.clog
log files:
clog_unpack.exe -i some_log.clog -k keyfile.bin -o out_log.log
This will decrypt some_log.clog
with key keyfile.bin
to out_log.log
file.
⚠️ untested
Tool for minimizing blk files, good for modders, who want to create mission, but stuck at 512kb file size limit. It will decrease size to ~ 70% from initial. For basic usage:
blk_minify.exe some_mission.blk some_mission_minified.blk
This will minify file from some_mission.blk
to some_mission_minified.blk
, without removing any structures from file.
If you want lower size file, you can try additional options:
--strip_empty_objects
: will remove empty objects--strip_comment_objects
: will remove comment objects--strip_disabled_objects
: remove disabled objects: the ones, which names start with __--strip_all
: select all options
For example, for minimum size:
blk_minify.exe --strip_all some_mission.blk some_mission_minified.blk
As you've read above, some tools are untested.
If you encounter any issues, please open an issue on GitHub. Include whatever info you can (most errors should include a stacktrace, this will help immensely).
Read wiki.