Added base for rustii CLI EmuNAND commands (mostly library-side)

The rustii CLI now offers setting decrypt/encrypt commands, as well as a WIP emunand install-title command. This command currently only supports installing single WADs and not a folder of WADs like WiiPy.
To make EmuNANDs happen, library modules for parsing and editing setting.txt, uid.sys, and content.map have been added and have feature parity with libWiiPy. The basics of the library EmuNAND module also exist, offering the code for title installation and not much else yet.
This commit is contained in:
2025-05-01 19:55:15 -04:00
parent 15947ceff3
commit 26138c02be
12 changed files with 620 additions and 30 deletions

View File

@@ -3,6 +3,7 @@
use std::fs;
use rustii::title::{wad, cert};
use rustii::title;
// use rustii::title::content;
fn main() {
let data = fs::read("sm.wad").unwrap();
@@ -41,8 +42,17 @@ fn main() {
let result = title.verify().unwrap();
println!("full title verified successfully: {}", result);
// let mut u8_archive = u8::U8Archive::from_bytes(&fs::read("00000001.app").unwrap()).unwrap();
// println!("files and dirs counted: {}", u8_archive.node_tree.borrow().count());
// fs::write("outfile.arc", u8_archive.to_bytes().unwrap()).unwrap();
// println!("re-written");
// let mut content_map = content::SharedContentMap::from_bytes(&fs::read("content.map").unwrap()).unwrap();
// content_map.add(&[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]).unwrap();
// fs::write("new.map", content_map.to_bytes().unwrap()).unwrap();
}