Skip to content

TKVSC-Team/oead

 
 

Repository files navigation

tkvsc-oead

tkvsc-oead is a C++ library for common file formats that are used in modern first-party Nintendo EAD (now EPD) titles. Forked from the original oead library by leoetlino, it is now maintained by the TKVSC Team. Changes made in [DT's PR](zeldamods#36) were also included

WARNING

This library should not be used in the same environment as the original oead library, as they have the same Python module name and will conflict with each other. If you want to use both libraries, it is recommended to use virtual environments to keep them separate.

Features

Currently, tkvsc-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 YAL): Versions 1-10 are supported (32-bit and 64-bit hash nodes, monotyped arrays). Remapped container nodes and non-container root nodes are not supported.
  • SARC (archive)
  • Yaz0 (compression algorithm)

tkvsc-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 tkvsc-oead

This will download and install a precompiled version of tkvsc-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.9 to 3.14
  • PyPy3.7 to 3.9

If you are using any other platform, you must build tkvsc-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, with updated wheels for all versions of python.

Resources

License

Stars

Watchers

Forks

Packages

 
 
 

Contributors

Languages

  • C++ 63.7%
  • Python 30.6%
  • CMake 5.7%