Toggle menu
Toggle personal menu
Not logged in
Your IP address will be publicly visible if you make any edits.

Yet another sarc tool 3DS: Difference between revisions

From GameBrew
No edit summary
No edit summary
Line 1: Line 1:
{{Infobox 3DS Homebrews
{{Infobox 3DS Homebrews
|title=Yet another sarc tool
|title=Yet another sarc tool
|image=Yetanothersarctool.jpg
|image=3dspc.jpg
|description=Nintendo Ware Layout SHArchive Tool (Module).
|description=Nintendo Ware Layout SHArchive Tool (Module).
|author=LITTOMA
|author=LITTOMA
Line 14: Line 14:
A simple archive tool with auto padding feature.
A simple archive tool with auto padding feature.


==Features:==
==Features==
* Creating archives.
* Creating archives.
* Extracting archives.
* Extracting archives.

Revision as of 00:32, 15 March 2022

Yet another sarc tool
File:3dspc.jpg
General
AuthorLITTOMA
TypePC Utilities
Version2018
LicenseMixed
Last Updated2018/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)

External links

Advertising: