#nintendo #zelda #gamedev

nightly aamp

Rust library for Nintendo parameter archive (AAMP) files

6 releases

0.1.6 May 12, 2021
0.1.5 Apr 15, 2021
0.1.1 Oct 28, 2020
0.1.0 Jun 19, 2020

#1395 in Game dev

27 downloads per month

MIT license

345KB
4.5K SLoC

Nintendo parameter archive (AAMP) library in Rust

A simple to use library for reading, writing, and converting Nintendo parameter archive (AAMP) files in Rust. Supports only AAMP version 2, used in The Legend of Zelda: Breath of the Wild. Can convert from AAMP to readable, editable YAML and back.

use aamp::ParameterIO;
let mut file = std::fs::File::open("test/Enemy_Lizalfos_Electric.bchemical").unwrap();
// Read an AAMP ParameterIO from any reader that implements Seek + Read
let pio = ParameterIO::from_binary(&mut file).unwrap();
for list in pio.lists.iter() {
    // Do stuff with lists
}
for obj in pio.objects.iter() {
    // Do stuff with objects
}
// Dumps YAML representation to a String
let yaml_dump: String = pio.to_text().unwrap();

License Notice

This software contains some edited code from yaml-rust, primarily the addition of support for tags on maps and sequences. The original MIT/Apache license and code are available on the GitHub repo.

Dependencies

~7MB
~133K SLoC