#compression #nintendo #yaz0 #file #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

#370 in Games

Download history 1/week @ 2024-11-13 7/week @ 2024-11-20 5/week @ 2024-11-27 3/week @ 2024-12-04 12/week @ 2024-12-11 11/week @ 2024-12-18 18/week @ 2025-01-01 19/week @ 2025-01-08 3/week @ 2025-02-05 13/week @ 2025-02-12 13/week @ 2025-02-19 30/week @ 2025-02-26

59 downloads per month

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.1–3MB
~65K SLoC