Skip to content
/ oead Public
forked from zeldamods/oead

Library for recent Nintendo EAD formats in first-party games

License

Notifications You must be signed in to change notification settings

antoyo/oead

This branch is 15 commits behind zeldamods/oead:master.

Folders and files

NameName
Last commit message
Last commit date

Latest commit

9076fb7 · May 12, 2023
Dec 19, 2022
Oct 10, 2020
Apr 14, 2020
May 12, 2023
Dec 26, 2022
Feb 3, 2023
Sep 19, 2020
Feb 11, 2020
Feb 3, 2023
Mar 27, 2022
Feb 13, 2020
Apr 16, 2021
Feb 11, 2020
Feb 11, 2020
Apr 21, 2023
Feb 3, 2023
Feb 11, 2020
Apr 21, 2023
Feb 11, 2020

Repository files navigation

oead

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

Python bindings for 3.6+ are also available.

Features

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 1, 2, 3, and 4 are supported.
  • SARC (archive)
  • Yaz0 (compression algorithm)

oead also supports a recent Grezzo format that is used in Link's Awakening (Switch):

Getting started

To install the Python module, simply run:

pip install oead

This will download and install a precompiled version of oead for the following platforms:

  • Windows (x86-64 / 64-bit)
  • Recent Linux distributions (x86-64, glibc and musl)
  • macOS 10.14 / 10.15 (x86-64)

The following versions of Python are supported:

  • CPython 3.6 to 3.11
  • PyPy3.7 to 3.9

If you are using any other platform, you must build oead from source (refer to the next section).

Warning

Windows users must ensure that they have the latest Visual C++ 2019 Redistributable installed.

For more information, refer to the documentation.

Building from source

Building oead from source requires:

  • CMake 3.12+
  • A compiler that supports C++17
  • Everything needed to build libyaml

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

Building the Python module

  • To install the module, run pip install -e .. This requires the following Python modules to be installed: setuptools, wheel
  • If you just want to build the Python module from source without installing it, run python setup.py bdist_wheel.

C++ usage

Linking to the oead target is sufficient to use the library.

Contributing

This project is licensed under the GPLv2+ license.

About

Library for recent Nintendo EAD formats in first-party games

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • C++ 69.4%
  • Python 24.0%
  • CMake 6.6%