picori

Crates.iopicori
lib.rspicori
version0.1.0
sourcesrc
created_at2022-11-06 18:52:15.020193
updated_at2022-11-06 18:52:15.020193
descriptionPicori is a library for decompilation, modding, and rom-hacking with focus on GameCube and Wii games.
homepage
repositoryhttps://github.com/Julgodis/picori
max_upload_size
id706658
size461,235
Jonathan Wase (Julgodis)

documentation

README

Picori

crates.io docs.rs build coverage license

Picori (ピッコル) is a library for decompilation, modding, and rom-hacking with focus on GameCube and Wii games. It support parsing and building common file formats, e.g., Dolphin executables (DOLs).

FeaturesUsageExamplesInstallation

!!! The project is currently very early stages of development. !!!
!!! All features are not unimplemented and compatibility is not guaranteed. !!!

Features

  • DOL (Dolphin executable)
  • REL (Relocatable module)
  • GCM (GameCube master disc)
  • CISO (Compact ISO)
  • Yaz0 compression
  • JIS X 0201 encoding
  • Shift JIS encoding

Usage

Here is a simple example of how to use Picori to parse a DOL file and print the entry point.

use std::fs::File;
use picori::Result;
fn main() -> Result<()> {
    let mut file = File::open("main.dol")?;
    let dol = picori::Dol::from_binary(&mut file)?;
    println!("entry point: {:#08x}", dol.entry_point());
    Ok(())
}

Examples

The examples directory contains a few examples of how to use Picori.

  • dol_dump - Dump information about a .dol file.
  • rel_dump - Dump information about a .rel file.
  • gcm_dump - Dump information about a .gcm/.iso file.

Installation

Picori is available on crates.io. Add the following to your Cargo.toml:

[dependencies]
picori = "0.1.0"

Contributing

Contributions are welcome! If you would like to contribute, please open a pull request on GitHub. Please make sure that your code is formatted with rustfmt, and that it compiles without warnings or errors.

License

Picori is licensed under an MIT license. See LICENSE for more information.

Commit count: 46

cargo fmt