More actions
No edit summary |
No edit summary |
||
(12 intermediate revisions by the same user not shown) | |||
Line 1: | Line 1: | ||
{{Infobox | {{Infobox 3DS Homebrews | ||
| title = Yet another sarc tool | |title=Yet another sarc tool | ||
| image = | |image=3dspc.png | ||
| | |description=Nintendo Ware Layout SHArchive Tool (Module). | ||
| | |author=LITTOMA | ||
| lastupdated = 2018/11/30 | |lastupdated=2018/11/30 | ||
| | |type=File Operation | ||
| | |version=2018 | ||
| website = https://gbatemp.net/threads/release-yet-another-sarc-tool.467395/ | |license=Mixed | ||
| | |download=https://dlhb.gamebrew.org/3dshomebrews/sarc_littoma.zip | ||
|website=https://gbatemp.net/threads/release-yet-another-sarc-tool.467395/ | |||
|source=https://github.com/LITTOMA/sarc | |||
}} | }} | ||
A simple archive tool with auto padding feature. | |||
==Features== | |||
* Creating archives. | |||
* Extracting archives. | |||
* Support both big and little endianess archives. | |||
* Auto padding (Support bflim files only for now). | |||
* Importable. | |||
==User guide== | |||
Using as a script: | |||
sarc.py [-h] [-v] (-x | -c | -l) [-e {big,little}] [-k HASHKEY] [-d DIR] -f ARCHIVE | |||
optional arguments: | |||
-h, --help show this help message and exit | |||
-v, --verbose Enable verbose output | |||
-x, --extract Extract the archive | |||
-c, --create Create an archive | |||
-l, --list List contents of the archive | |||
-e {big,little}, --endianess {big,little} | |||
Set archive endianess | |||
-k HASHKEY, --hashkey HASHKEY | |||
Set hash key | |||
-d DIR, --dir DIR Set working directory | |||
-f ARCHIVE, --archive ARCHIVE | |||
Set archive file | |||
Import as a module: | |||
<source lang="bash"> | |||
from sarc import * | |||
#Initialize an archive with a file: | |||
arc = Sarc('Path/To/Archive') | |||
#Initialize an archive with a directory: | |||
arc = Sarc(path='Path/To/Directory/', order='<', hash_key=0x65) | |||
#Add a file to the archive: | |||
arc.add_file_entry('Path/to/File') | |||
#Save the archive: | |||
arc.archive(archive_path='Path/To/Archive') | |||
#Extract the archive file entries: | |||
arc.extract(path='Path/To/Output/', all=True) | |||
#Extract a single file from the archive by name: | |||
arc.extract(path='Path/To/Output/', name='Name/Of/File') | |||
#Extract a single file from the archive by hash: | |||
arc.extract(path='Path/To/Output/', hash=0x12345678) | |||
#List out all file entries (Hash and Name): | |||
arc.extract(path='', all=True, save_file=False) | |||
</source> | |||
==External links== | |||
* GitHub - https://github.com/LITTOMA/sarc | |||
* GBAtemp - https://gbatemp.net/threads/release-yet-another-sarc-tool.467395 |
Latest revision as of 11:59, 22 Haziran 2024
Yet another sarc tool | |
---|---|
General | |
Author | LITTOMA |
Type | File Operation |
Version | 2018 |
License | Mixed |
Last Updated | 2018/11/30 |
Links | |
Download | |
Website | |
Source | |
A simple archive tool with auto padding feature.
Features
- Creating archives.
- Extracting archives.
- Support both big and little endianess archives.
- Auto padding (Support bflim files only for now).
- Importable.
User guide
Using as a script:
sarc.py [-h] [-v] (-x | -c | -l) [-e {big,little}] [-k HASHKEY] [-d DIR] -f ARCHIVE
optional arguments: -h, --help show this help message and exit -v, --verbose Enable verbose output -x, --extract Extract the archive -c, --create Create an archive -l, --list List contents of the archive -e {big,little}, --endianess {big,little} Set archive endianess -k HASHKEY, --hashkey HASHKEY Set hash key -d DIR, --dir DIR Set working directory -f ARCHIVE, --archive ARCHIVE Set archive file
Import as a module:
from sarc import *
#Initialize an archive with a file:
arc = Sarc('Path/To/Archive')
#Initialize an archive with a directory:
arc = Sarc(path='Path/To/Directory/', order='<', hash_key=0x65)
#Add a file to the archive:
arc.add_file_entry('Path/to/File')
#Save the archive:
arc.archive(archive_path='Path/To/Archive')
#Extract the archive file entries:
arc.extract(path='Path/To/Output/', all=True)
#Extract a single file from the archive by name:
arc.extract(path='Path/To/Output/', name='Name/Of/File')
#Extract a single file from the archive by hash:
arc.extract(path='Path/To/Output/', hash=0x12345678)
#List out all file entries (Hash and Name):
arc.extract(path='', all=True, save_file=False)