SARC Tool Switch: Difference between revisions

From GameBrew
(Created page with "{{Infobox Switch Homebrews |title=SARC Tool |image=sarctoolswitch.png |description=A tool for extracting/packing SARC/SZS files. |author=aboood40091 |lastupdated=2019/08/25 |type=PC Utilities |version=0.5 |license=GPL-3.0 |download=https://dlhb.gamebrew.org/switchhomebrews/sarctoolswitch.7z |website=https://gbatemp.net/threads/sarc-tool-a-tool-for-extracting-packing-sarc-szs-files.509768/ |source=https://github.com/aboood40091/SARC-Tool |donation= }} {{#seo: |title=Switc...")
 
No edit summary
Line 1: Line 1:
{{Infobox Switch Homebrews
{{Infobox Switch Homebrews
|title=SARC Tool
|title=SARC Tool
|image=sarctoolswitch.png
|image=sarctoolnx.png
|description=A tool for extracting/packing SARC/SZS files.
|description=Tool for extracting and packing SARC files present in Nintendo EAD games.
|author=aboood40091
|author=aboood40091
|lastupdated=2019/08/25
|lastupdated=2019/08/25
Line 8: Line 8:
|version=0.5
|version=0.5
|license=GPL-3.0
|license=GPL-3.0
|download=https://dlhb.gamebrew.org/switchhomebrews/sarctoolswitch.7z
|download=https://dlhb.gamebrew.org/switchhomebrews/sarctoolnx.7z
|website=https://gbatemp.net/threads/sarc-tool-a-tool-for-extracting-packing-sarc-szs-files.509768/
|website=https://gbatemp.net/threads/sarc-tool-a-tool-for-extracting-packing-sarc-szs-files.509768/
|source=https://github.com/aboood40091/SARC-Tool
|source=https://github.com/aboood40091/SARC-Tool
|donation=
|donation=
}}
}}
{{#seo:
|title=Switch Homebrew PC Tools (PC Utilities) - GameBrew
|title_mode=append
|image=sarctoolswitch.png
|image_alt=SARC Tool
}}
{{cleanup|article|Needs cleanup}}
A tool for extracting/packing SARC/SZS files.
A tool for extracting/packing SARC/SZS files.


==Media==
Makes use of SarcLib and libyaz0.
<youtube></youtube>
 
==User guide==
===Requirements===
*SarcLib v0.3 or higher (get it using pip)
*libyaz0 v0.5 or higher (get it using pip)
 
===Usage===
<pre>
  main [option...] file/folder
 
Packing Options:
-o <output>          output file name (Optional)
-little (or -l)      output will be in little endian if this is used
-compress <level>    Yaz0 (SZS) compress the output with the specified level(0-9) (If unsure, use 1)
                      0: No compression (Fastest)
                      9: Best compression (Slowest)
</pre>
 
===Example usage===
Extracting an szs file named "test.szs": <br>
<code>main test.szs</code>
 
Extracting a sarc file named "test.sarc": <br>
<code>main test.sarc</code>
 
Packing a folder named "test" as a big endian (Wii U) sarc file: <br>
<code>main test</code>


Packing a folder named "test" as a little endian (3DS / Switch) sarc file: <br>
<code>main -little test</code>
Packing a folder named "test" as a big endian (Wii U) sarc file with the file name "test2.sarc": <br>
<code>main -o test2.sarc test</code>
Packing a folder named "test" as a big endian (Wii U) szs file using level 9 (best/slowest compression): <br>
<code>main -compress 9 test</code>
Packing a folder named "test" as a little endian (3DS / Switch) szs file using level 9 (best/slowest compression): <br>
<code>main -little -compress 9 test</code>
Packing a folder named "test" as a big endian (Wii U) szs file with the file name "test2.szs", using level 9 (best/slowest compression): <br>
<code>main -compress 9 -o test2.szs test</code>


==Screenshots==
==Screenshots==
https://dlhb.gamebrew.org/switchhomebrews/sarctoolswitch-01.png
https://dlhb.gamebrew.org/switchhomebrews/sarctoolnx2.png
https://dlhb.gamebrew.org/switchhomebrews/sarctoolswitch-02.png
https://dlhb.gamebrew.org/switchhomebrews/sarctoolswitch-03.png
https://dlhb.gamebrew.org/switchhomebrews/sarctoolswitch-04.png
https://dlhb.gamebrew.org/switchhomebrews/sarctoolswitch-05.png
https://dlhb.gamebrew.org/switchhomebrews/sarctoolswitch-06.png
https://dlhb.gamebrew.org/switchhomebrews/sarctoolswitch-07.png
https://dlhb.gamebrew.org/switchhomebrews/sarctoolswitch-08.png


==Changelog==
==Changelog==
'''v.1.0'''
'''v0.5 2918/08/25'''
* First Release.
*Fixed required alignment for SMM2 Course data.
 
'''v0.4 2019/07/08'''
*Fixed getting alignment for the first file. (packing 1 file)
*Added alignment for SHARC and SHARCFB.
*Fixed a rare edge case where extracting doesn't work.
 
'''v0.3 2018/07/02'''
*Added support for extracting files.
*Added support for SZS (Yaz0 compressed) files.
*The data start offset and alignment are now automatically calculated.
*Added support for extracting and packing files with only the name hash.
 
'''v0.2 2018/08/05'''
*Fixed an issue with paths.
 
'''v0.1 2017/08/05'''
*Initial release.


== External links ==
== External links ==
* Gbatemp - https://gbatemp.net/threads/sarc-tool-a-tool-for-extracting-packing-sarc-szs-files.509768/
* GitHub - https://github.com/aboood40091/SARC-Tool
* Github - https://github.com/aboood40091/SARC-Tool
* GBAtemp - https://gbatemp.net/threads/sarc-tool-a-tool-for-extracting-packing-sarc-szs-files.509768/
* Reddit -

Revision as of 04:33, 10 June 2023

SARC Tool
Sarctoolnx.png
General
Authoraboood40091
TypePC Utilities
Version0.5
LicenseGPL-3.0
Last Updated2019/08/25
Links
Download
Website
Source

A tool for extracting/packing SARC/SZS files.

Makes use of SarcLib and libyaz0.

User guide

Requirements

  • SarcLib v0.3 or higher (get it using pip)
  • libyaz0 v0.5 or higher (get it using pip)

Usage

  main [option...] file/folder

Packing Options:
 -o <output>           output file name (Optional)
 -little (or -l)       output will be in little endian if this is used
 -compress <level>     Yaz0 (SZS) compress the output with the specified level(0-9) (If unsure, use 1)
                       0: No compression (Fastest)
                       9: Best compression (Slowest)

Example usage

Extracting an szs file named "test.szs":
main test.szs

Extracting a sarc file named "test.sarc":
main test.sarc

Packing a folder named "test" as a big endian (Wii U) sarc file:
main test

Packing a folder named "test" as a little endian (3DS / Switch) sarc file:
main -little test

Packing a folder named "test" as a big endian (Wii U) sarc file with the file name "test2.sarc":
main -o test2.sarc test

Packing a folder named "test" as a big endian (Wii U) szs file using level 9 (best/slowest compression):
main -compress 9 test

Packing a folder named "test" as a little endian (3DS / Switch) szs file using level 9 (best/slowest compression):
main -little -compress 9 test

Packing a folder named "test" as a big endian (Wii U) szs file with the file name "test2.szs", using level 9 (best/slowest compression):
main -compress 9 -o test2.szs test

Screenshots

sarctoolnx2.png

Changelog

v0.5 2918/08/25

  • Fixed required alignment for SMM2 Course data.

v0.4 2019/07/08

  • Fixed getting alignment for the first file. (packing 1 file)
  • Added alignment for SHARC and SHARCFB.
  • Fixed a rare edge case where extracting doesn't work.

v0.3 2018/07/02

  • Added support for extracting files.
  • Added support for SZS (Yaz0 compressed) files.
  • The data start offset and alignment are now automatically calculated.
  • Added support for extracting and packing files with only the name hash.

v0.2 2018/08/05

  • Fixed an issue with paths.

v0.1 2017/08/05

  • Initial release.

External links

Advertising: