#compression #nintendo #file #yaz0 #wii #switch #szs

bin+lib sarc

A library for working with Nintendo SARC files for Wii U, 3ds and Switch

7 stable releases

1.2.0 Dec 22, 2022
1.1.4 Nov 17, 2020
1.1.2 Jun 15, 2020
1.1.1 Mar 18, 2020
1.0.1 Feb 9, 2020

#321 in Games

MIT license

21KB
477 lines

sarc

A simple to use library for reading/writing SARC and SZS (yaz0 compressed SARCs) in Rust.

// yaz0 and non-yaz0 sarcs can be read the same way
let sarc = SarcFile::read_from_file("Animal_Fish_A.sbactorpack").unwrap();

// iterate through files in the sarc and print out a file list
for file in &sarc.files {
    println!("Name: {:?} | Size: {}", file.name, file.data.len());
}

// write as yaz0 compressed sarc
sarc.write_to_compressed_file("animal_test.sarc").unwrap();

lib.rs:

A simple to use library for reading/writing SARC and SZS (yaz0 compressed SARCs) in Rust.

// yaz0 and non-yaz0 sarcs can be read the same way
let sarc = SarcFile::read_from_file("Animal_Fish_A.sbactorpack").unwrap();

// iterate through files in the sarc and print out a file list
for file in &sarc.files {
    println!("Name: {:?} | Size: {}", file.name, file.data.len());
}

// write as yaz0 compressed sarc
sarc.write_to_compressed_file("animal_test.sarc").unwrap();

Features

yaz0_sarc - support reading/writing yaz0-compressed sarc files zstd_sarc - support reading/writing yaz0-compressed sarc files

Dependencies

~2–3MB
~63K SLoC