Help:Tools/aamptool

From ZeldaMods (Breath of the Wild)
< Help:Setting up tools
Revision as of 09:01, 14 October 2018 by imported>Leoetlino
Jump to navigation Jump to search
aamptool
Author(s) zerq
Source code https://github.com/Zer0XoL/BotW-aampTool
License LGPLv3
Written in C++
Platform support Cross-platform

aamptool is an AAMP tool. It can convert documents from AAMP to a human readable format (XML) and vice versa. As the historic tool, aamptool has been very well tested and can handle most documents correctly.

Setup

  1. Download the tool from GitHub (note: builds are only provided for Windows).

Known issues

  • Non-root parameter lists: Parameter lists are not handled correctly at this moment, which causes files (baiprogs for instance) that rely on nested lists to have a strange structure in their XML representation.
  • Parameter names with leading numbers: Nintendo sometimes starts parameter structure names with numbers. aamptool converts structures into XML tags; however leading numbers in tag names are explicitly disallowed by the XML specification. As a result files with such nodes cannot be converted back from XML into AAMP correctly. aamptool will either crash or fail to convert the affected parameter nodes.
  • Incomplete parameter type support: Esoteric parameter types such as curves and buffers are not supported. This is problematic because a conversion into XML will only keep one byte of the original data, leading to data loss when converting back to AAMP.
  • Parameter lists: aamptool currently assumes that all parameter lists (which it calls root nodes) are stored contiguously. This is however not necessarily true. In practice, this is unlikely to be an issue with Nintendo-produced documents.