Picori

[![crates.io](https://img.shields.io/crates/v/picori)](https://crates.io/crates/picori) [![docs.rs](https://docs.rs/picori/badge.svg)](https://docs.rs/picori/) [![build](https://github.com/Julgodis/picori/actions/workflows/build_and_test.yml/badge.svg?branch=master)](https://github.com/Julgodis/picori/actions/workflows/build_and_test.yml) [![coverage](/../coverage/coverage/badges/flat.svg)](https://julgodis.github.io/picori/coverage/) [![license](https://img.shields.io/crates/l/picori)](https://github.com/Julgodis/picori/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). [Features](#features) • [Usage](#usage) • [Examples](#examples) • [Installation](#installation) ```diff !!! The project is currently very early stages of development. !!! !!! All features are not unimplemented and compatibility is not guaranteed. !!! ```

Features

Usage

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

rust 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.

Installation

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

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.