Help:Tools/aamptool: Difference between revisions

From ZeldaMods (Breath of the Wild)
Jump to navigation Jump to search
imported>Leoetlino
No edit summary
imported>Leoetlino
No edit summary
 
(3 intermediate revisions by the same user not shown)
Line 1: Line 1:
[[Category:Tools]]
[[Category:Tools (AAMP)]]
{{Tool infobox
{{Tool infobox
| name = aamptool
| name = aamptool
Line 11: Line 13:


== Setup ==
== Setup ==
# Download the tool from [https://github.com/Zer0XoL/BotW-aampTool/releases GitHub] (note: builds are only provided for Windows).
Download the tool from [https://github.com/Zer0XoL/BotW-aampTool/releases GitHub] (note: builds are only provided for Windows).


== Known issues ==
== Known issues ==
Line 17: Line 19:
* '''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.
* '''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.
* '''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.
[[Category:Tools]]
[[Category:Tools (AAMP)]]

Latest revision as of 16:52, 15 October 2018

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

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.