wt-tools(War Thunder resource extraction tools)
wt-toolsとはwarthunderのリソースをアンパックし、ユーザーが活用できるように変換する有志制作のソフトウェアである。
本体はgithubで公開されている、動作させるにはPython 2.7以上の開発環境が必要
Python版と.exe版が公開されているが動作確認済みなのは.exeのみ
.exe版はPython不要と書いてあるもののPythonをインストールしていないと動作しない模様。
exe版はpython無しでも動作可能。python版はpython2.7で動作確認
2021年頃にゲーム内ファイルの圧縮・難読化形式が変更されており、既存のtoolsでは展開できなくなった
元々の開発者のklensy氏から開発を引き継いだkotiq氏が新形式対応版を公開している
kotiq氏のwt-toolsも、2022年に更新が停止。
その後の後継ツールはFlareFlo氏が2023年に開発した「wt_ext_cli」が支流になっている。こちらもGitHubで公開中。
FlareFlo氏は「ウォーサンダー・オープンソース財団」なるグループを企画しており、wt_ext_cliはそのシステムの一部である。
ちなみに、WTのベースとなっているゲームエンジンの「Dagor Engine」は、2023年にオープンソース化されている。これにより、ゲームファイルの圧縮や難読化のアルゴリズムが実質的に公開された形となった。wt_ext_cliもDEのソースコードの情報をもとに開発されており、文字化けへの耐性や処理速度はwt-toolsと比べて非常に高性能である。
活用法
吐き出されるのはゲーム内で表示される画像、テクスチャ、.blkである
ユーザーモデルの作成やステルスパッチの監視など使い道は多岐に渡る。
また、これらの情報を解析して、「データマイン」としてWEB上に公開している人達もいる。
使い方(wt-tools .exe版)
WarThunder本体のファイルの中のアーカイブファイル(拡張子がvromfs.binの物)を"vromfs_unpacker.exe"にドラッグアンドドロップする。
解析中はウィンドウが表示され終了すると解析元のファイルと同階層にアンパックされたリソースファイルが入ったフォルダが出力される。
リソースファイルは出力しただけでは正常に開くことは出来ず.blkなら"blk_unpack.exe"、ddsxなら"ddsx_unpack.exe"でもう一度展開する必要がある。
使い方(wt-tools python版)
前提条件としてpython2.7のインストール。さらに環境変数を通してコマンドプロンプトからpythonを起動できるようにしておくこと。
例としてblk_unpack.pyを実行する
コマンドプロンプトを立ち上げカレントディレクトリをblk_unpack.pyが置いてあるフォルダに移動させる。
また展開したいblkもblk_unpack.pyが置いてあるフォルダに移動させる
次にコマンドプロンプトに
blk_unpack.py ファイル名.blk
と打ち込みエンターキーで実行。フォルダ内にblkxが生成されていれば成功
ちなみに先の分のおしりに--strict_blkを追加して実行するとゲーム内でそのまま使える形のblkxが生成される。
blk_unpack.py ファイル名.blk --strict_blk
ファイル構成
aces.vromfs.bin
ユニットや武装、装甲の性能や砲弾の基礎データなどのステータスを定義する".blk"というファイルが詰まっている
wt-toolsの場合、blkファイルは"blk_unpack.exe"で".blkx"に変換すればテキストエディタで開くことが出来る
情報量的には一番大きいファイルでゲーム内では表示されないユニットのデータなど色々探れる
char.vromfs.bin
デカールなどアイテムのカテゴリやユニットのランクやBRなど格納庫画面で表示される情報を定義しているblkファイルが入っている。
特にwpcost.blkは有用
gui.vromfs.bin
その名のとおりguiのあれこれ。使える情報は少なくゲームを隅々まで知りたい人向け。.nutなどのスクリプトファイル多め。
lang.vromfs.bin
各言語へのローカライズ用の.csvファイルが入っている。
ただしカンマ区切りではなくセミコロンで区切ってあるので注意
mis.vromfs.bin
シングルミッションやテストフライト、ランダムマッチ用のミッション.blkが入っている
ランダムマッチもマルチプレイ用のミッションを読み込んでいるだけなのでミッションファイルが存在する。
.blkの書式はCDKで作るものと同じなのでユーザーミッションとしてプレイできる。
webUi.vromfs.bin
ネットワーク接続用の諸々。入っているhtmlはユーザーモデルを作る際に使うツール
wwdata.vromfs.bin
絶賛開発中の世界大戦モード用のデータが入っている。
ファイルの簡単な解説
- VROMFS
Virtual Read Only Memory Filesystem
ZIP風のファイルアーカイブ
- BLK
BLocK
JSONの様なデータ記述言語で書かれるゲーム設定データファイル