3DS, WiiU, Switchで使用されているSARC,SZS(SARCをYaz0で圧縮したもの)を作成、展開するPythonスクリプトです。
バイトオーダー、SFNTにファイル名を書き込むかどうか、ファイルのアラインメントを指定してSARCを作成することができます。
SFNTにファイル名が書き込まれていないSARCを展開する場合はHashTable.sahtからファイル名を取得します。
このスクリプトを使用するにはlibyaz0のインストールが必要です。
py -m pip install libyaz0
sarc_tool.py [Command] file/folder [Option...] outputfile/outputfolder
| コマンド | 説明 |
|---|---|
x |
SARCを展開します |
c |
フォルダーからSARCを作成します |
| オプション | 説明 |
|---|---|
--byteorder or -bo |
バイトオーダーを指定してSARCを作成します。使用できる値はLE or BEです。デフォルトはLEです。WiiUで使用する場合はBEに指定してください。 |
--emptysfnt |
値をTRUEに設定するとSFNTにファイル名を書き込まずにSARCを作成します。代わりにファイル名とハッシュ値が書き込まれたHashTable.sahtがSARCに追加されます。 |
--alignment |
ファイルのアラインメントを指定します。デフォルトは0x100です。 |
--compression or -c |
SARCを作成する際の圧縮形式を指定します。使用できる値はyaz0, yaz1 or noneです。指定しなかった場合はファイル名から自動で判断されます。 |
sarc_tool.py x Gctr_ToadCircuit.szs Gctr_ToadCircuit.dsarc_tool.py c Gctr_ToadCircuit.d -bo LE --alignment 0x80 Gctr_ToadCircuit.szs