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.d
sarc_tool.py c Gctr_ToadCircuit.d -bo LE --alignment 0x80 Gctr_ToadCircuit.szs