roead 0.11.1

Rust bindings for oead C++ library for common Nintendo formats
docs.rs failed to build roead-0.11.1
Please check the build logs for more information.
See Builds for ideas on how to fix a failed build, or Metadata for how to configure docs.rs builds.
If you believe this is docs.rs' fault, open an issue.

roead

crates.io api license build

Rust bindings for the oead C++ library

oead is a C++ library for common file formats that are used in modern first-party Nintendo EAD (now EPD) titles.

Currently, oead only handles very common formats that are extensively used in recent games such as Breath of the Wild and Super Mario Odyssey.

  • AAMP (binary parameter archive): Only version 2 is supported.
  • BYML (binary YAML): Versions 2, 3, and 4 are supported.
  • SARC (archive)
  • Yaz0 (compression algorithm)

The roead project attempts to provide safe and relatively idiomatic Rust bindings to oead's core functionality. The Grezzo datasheets are not supported. For more info on oead itself, visit its GitHub repo.

For API documentation, see the docs for each module.

Building from Source

Since roead is a wrapper for a C++ library, you will need to be able to compile both Rust and C++ to use it.

Requirements:

  • Cargo (MSRV 1.48.0)
  • CMake 3.12+
  • A compiler that supports C++17
  • Everything needed to build libyaml

First, clone the repository then enter the roead directory and run git submodule update --init --recursive.

Contributing

Issue tracker: https://github.com/NiceneNerd/roead/oead/issues Source code: https://github.com/NiceneNerd/roead

This project is licensed under the GPLv3+ license. oead is licensed under the GPLv2+ license.