This project implements a viewer for various file formats that are seen in Nintendo games.
After launching the tool, you can import files or folder into the workspace. This allows you to browse through files in a tree, including files that are stored in archives. After selecting a file in the tree, the contents of the file are displayed on the screen. In addition to file-specific widgets, a hex editor is shown that displays the raw contents of the file, even for files that would otherwise not be supported. In addition, all files can be extracted from archives.
The following file formats currently have a plugin implemented for them:
| Library | Format | Extensions | Description |
|---|---|---|---|
| Multiple | BYAML | .byml / .byaml |
Binary YAML |
| AAL | BAMETA | .bameta |
Audio metadata |
| AAL | BARS | .bars |
Audio resources |
| AAL | BARSLIST | .barslist |
Audio resource lists |
| AGL | PMAA | .bagl* |
Graphics parameters |
| NW4F | BFWAV | .bfwav |
Wave files |
| SEAD | SARC | .sarc |
Archives |
| SEAD | SZS | .szs |
Yaz0 compression |
| Other | ZSTD | .zs |
Zstd compression |
Using this project requires the following packages to be installed:
- PyQt6 (for the GUI)
- QtAwesome (for icons)
- jungle (for file format parsers)
- ninty (for fast decoding routines)
- psutil (for memory usage measurement)
- zstd (for zstd decompression)
All packages, except for jungle, can be installed with pip3 install PyQt6 QtAwesome ninty psutil zstd.
Jungle requires manual installation (see repository for details).

