[Hack] SZS, SARCの展開と圧縮

SZSとは

Nintendo Wiiから使われている3Dモデルやテクスチャデータが入っている圧縮ファイル。

圧縮される前はSARCという拡張子が用いられる。

詳しくは以下の引用文をどうぞ。

Data file used by games for the Nintendo Wii; most commonly known for storing 3D model and texture data for the Wii game Mario Kart, but also used by other games for the same kinds of data as well as other types of data; sometimes modified by the homebrew and modding communities to create custom Mario Kart graphics.

https://fileinfo.com/extension/szs

SZSは暗号化されていないので各種キーは不要です。

SARC Tool

SZSやSARCの中のファイルを取り出したいときはSARC Toolを使うのが最も手っ取り早いです。

オリジナルコードはpythonにしか対応していませんが、リリースには実行ファイル(.exe)があるのでそっちを使いましょう。

SARC Tool

ダウンロードして解凍するとこんな感じになっているはずです。

展開

sarc_tool.exeというファイルがあるはずなので、そこにSZSをドラッグアンドドロップするだけです。

コマンドにも対応
チュートリアル用のマップデータを用意しました

コマンド実行でも、ドラッグアンドドロップでも結果は同じです。

コマンド実行の場合のログ

実行するとファイル名と同じフォルダがSZSファイルと同じ場所に自動的に作成されます。

無事に展開できました

圧縮

中身をいじったあとでSARCに戻したい場合は、フォルダごとsarc_toolにドラッグアンドドロップします。

SARCファイルに変換できた

ただ、これでは圧縮されていないので元のファイルよりもずいぶん大きくなってしまいますし、拡張子がSZSではなくSARCになっているのでちゃんと読み込んでくれるかどうか不安です。

バッチファイル

そこで、以下のコマンドを実行するバッチファイルを作成します。

:: Compress to szs for Nintendo Switch
%~dp0sarc_tool.exe -little -compress 9 %~f1

[amazonjs asin=”B01D2PZY82″ locale=”JP” title=”[改訂新版]Windowsコマンドプロンプトポケットリファレンス”]

このバッチファイルができたらsarc_tool.exeと同じフォルダに突っ込みましょう。

ここにフォルダをドラッグアンドドロップすればSZSに圧縮してくれます。

圧縮率は9に設定していますが、時間がかかる場合は小さい数字にしてください。

うちの環境(i7 6700K)だと元サイズ91MBのファイルを圧縮率9で46MBに圧縮するのに約50秒かかりました。

まとめ

sarc_toolの使い方をきかれるとは全く思っていなかったのですが、何人かの方にきかれたので執筆しました。

[amazonjs asin=”B07JNKFHKK” locale=”JP” title=”ルルアのアトリエ ~アーランドの錬金術士4~ – Switch”]

重要はどこにあるかわからないものですね。