| Crates.io | zelzip_niiebla |
| lib.rs | zelzip_niiebla |
| version | 0.4.0 |
| created_at | 2025-06-25 19:39:22.339933+00 |
| updated_at | 2025-08-08 12:26:09.536328+00 |
| description | A parsing library for various Nintendo file formats. |
| homepage | https://zelzip.dev |
| repository | https://github.com/ZELZIP/ZELZIP |
| max_upload_size | |
| id | 1726335 |
| size | 125,534 |
Usage guide | Reference | ZELZIP website
A parsing library for various Nintendo file formats. With accurate support for multiple niche entries and extensions (TikV1, Wii Savegame data, etc).
Supports:
WAD/TAD files manipulation (with content adding, editing and removing), both installable (Is/ib) and backup (Bk) kinds.TIK files.TMD files.Be aware of the following limitations of the library: Soft limitations (will not be implemented unless a lot of interest is arised and documentation is improved):
Hard limitations (cannot or are to complex to be fixed):
PreSwitchTicket is not ensured.First of all add the library into your Rust project:
$ cargo add zelzip_niiebla
From this you can parse any format you want using the new(...) method on the proper struct:
use zelzip_niiebla::PreSwitchTicket;
use std::fs::File;
let mut ticket_file = File::open("/just/any/path").unwrap();
let ticket = PreSwitchTicket::new(&mut ticket_file).unwrap();
println!(ticket.title_id);
// 00000001-00000002
After making any change, let's say on the metadata of a title, you can compose the data again with the dump(...) method.
use zelzip_niiebla::TitleMetadata;
use std::fs::File;
let mut tmd_file = File::open("/just/any/path").unwrap();
let mut tmd = TitleMetadata::new(&mut tmd_file).unwrap();
tmd.boot_content_index = 1;
let mut new_tmd_file = File::open("/just/any/other/path").unwrap();
tmd.dump(&mut new_tmd_file).unwrap();
For more advanced use cases visit the usage guide
This project is a fan-made homebrew creation developed independently and is not affiliated with, endorsed by, or associated with Nintendo Co., Ltd or any of its subsidiaries, affiliates, or partners. All trademarks and copyrights referenced are the property of their respective owners.