https://github.com/zeldamods/oead
Library for recent Nintendo EAD formats in first-party games
https://github.com/zeldamods/oead
cpp nintendo nintendo-switch pybind11
Last synced: 7 months ago
JSON representation
Library for recent Nintendo EAD formats in first-party games
- Host: GitHub
- URL: https://github.com/zeldamods/oead
- Owner: zeldamods
- License: gpl-2.0
- Created: 2020-02-11T22:50:32.000Z (almost 6 years ago)
- Default Branch: master
- Last Pushed: 2025-05-22T02:46:12.000Z (8 months ago)
- Last Synced: 2025-06-23T17:46:45.894Z (7 months ago)
- Topics: cpp, nintendo, nintendo-switch, pybind11
- Language: C++
- Homepage: https://oead.readthedocs.io/
- Size: 54.9 MB
- Stars: 38
- Watchers: 3
- Forks: 18
- Open Issues: 4
-
Metadata Files:
- Readme: readme.rst
- License: LICENSE.md
Awesome Lists containing this project
README
======
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)*:
* `gsheet `_ (Grezzo datasheet)
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+ (x86-64 / arm64)
The following versions of Python are supported:
* CPython 3.6 to 3.12
* 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
============
* Issue tracker: ``_
* Source code: ``_
This project is licensed under the GPLv2+ license.