Skip to main content

This projects implements parsers for various file formats can be found in Nintendo games. It has been written to support research, and it is also used in a viewer tool.

Installation

The package is currently not available on pip, but it can be installed as follows:

git clone https://github.com/kinnay/jungle.git jungle
cd jungle
pip3 install .

Testing

Every parser that is implemented in this package must be sound and complete. This means that, given an arbitrary file from a Nintendo game, decoding and reencoding that file must always produce the original file again.

This can be tricky to implement for some file formats (especially if Nintendo's tooling is inconsistent or has quirks), but it is a hard requirement for this repository. A test.py script has been written to verify this. If you come across a file in a game that should be supported by this repository, but fails the test, feel free to reach out on discord or contribute research.

Supported Formats

The following file formats are currently supported by this library:

Library Format Extensions Description
Multiple BYAML .byml / .byaml / .bgyml Binary YAML
AAL BAATN .baatn Audio attenuators
AAL BAMETA .bameta Audio metadata
AAL BARS .bars Audio resources
AAL BARSLIST .barslist Audio resource lists
AGL PMAA .bagl* Graphics parameters
CAS BAEV .baev Animation event archive
GFD Gfx2 .gtx / .gsh Textures and shaders
LMS MSBP .msbp Message projects
LMS MSBT .msbt Messages
NW4F BFWAV .bfwav Wave files
SEAD SARC .sarc Archives
SEAD SZS .szs Yaz0 compression
XLINK SLINK .slink Sound links

For some file formats, only specific versions are currently supported.

Contributing

The best way to contribute is to reverse engineer file formats and provide documentation for them. New documentation can be submitted as a pull request to the Nintendo file formats wiki. Bug fixes and corrections to existing documentation are also more than welcome.

If you would like to chat about Nintendo's file formats in general, feel free to join the Discord server.

Metadata

Release files for jungle-package 0.0.1

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for jungle-package 0.0.1
File Size Uploaded
jungle_package-0.0.1.tar.gz 51.8 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for jungle-package 0.0.1
File Interpreter ABI Platform
jungle_package-0.0.1-py3-none-any.whl Python 3 none any Details

Total release size: 110.0 kB

Release files / jungle_package-0.0.1.tar.gz

Download URL jungle_package-0.0.1.tar.gz
Size 51.8 kB
Tags Source
SHA-256 checksum
How to use checksums
99f4eb49cd515721a710ca1e8afaff615253fc84dde410c05c7d33ae2fa54e37
BLAKE2b-256 checksum
How to use checksums
2f3eedaa9d9d82dce5e2d6786130346b4fbba4d7d8b20fb5dee1e2d68de100f9
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.14.4

Release files / jungle_package-0.0.1-py3-none-any.whl

Download URL jungle_package-0.0.1-py3-none-any.whl
Size 58.1 kB
Tags Python 3
SHA-256 checksum
How to use checksums
ab6cc2a790d899f7672595b9c0f8ffa0c514da7dd2dd714247cb6a893d3dfaf7
BLAKE2b-256 checksum
How to use checksums
337281d0ddcfc29efd9b9b7df58c2145c026c49c9a9021b7d0e91e5823130783
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.14.4

Release history Release notifications | RSS feed

0.0.2

2 release files

This release

0.0.1 This release

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page