Nintendo BYML (binary YAML) library in Rust
A simple to use library for reading, writing, and converting Nintendo binary YAML (BYML) files in Rust. Supports BYML versions 2-4, (v2 used in The Legend of Zelda: Breath of the Wild). Can convert from BYML to readable, editable YAML and back.
Sample usage:
// First grab the file bytes. Yaz0 compressed files are automatically decompressed.
let bytes: = read.unwrap;
// Parse the data as a Byml document
let actor_info: Byml = from_binary.unwrap;
// Index BYML hashes and arrays naturally
let actor_list: & = actor_info.as_array.unwrap;
// 7934 actors, egads!
assert_eq!;
// Hmm, we'll iterate the actors listed in this file:
for actor in actor_list.iter
// Dump to YAML
write.unwrap;
License Notice
This software contains heavily edited code from yaml-rust
,
mostly to simplify parsing and emitting BYML text representation. The original MIT/Apache license
and code are available on the GitHub repo.