Crate nod[][src]

Expand description

Library for traversing & reading GameCube and Wii disc images.

Based on the C++ library nod, but does not currently support authoring.

Currently supported file formats:

  • ISO
  • NFS (Wii U VC files, e.g. hif_000000.nfs)

Examples

Opening a disc image and reading a file:

use nod::disc::{new_disc_base, PartHeader};
use nod::fst::NodeType;
use nod::io::new_disc_io;
use std::io::Read;

let mut disc_io = new_disc_io("path/to/file".as_ref())?;
let disc_base = new_disc_base(disc_io.as_mut())?;
let mut partition = disc_base.get_data_partition(disc_io.as_mut())?;
let header = partition.read_header()?;
if let Some(NodeType::File(node)) = header.find_node("/MP3/Worlds.txt") {
    let mut s = String::new();
    partition.begin_file_stream(node)?.read_to_string(&mut s);
    println!(s);
}

Modules

Disc type related logic (GameCube, Wii)

Disc file system types

Disc file format related logic (ISO, NFS, etc)

Common stream types

Macros

Creates a fixed-size array from a slice.

Enums

Type Definitions