This document is a proposal for how the map data for gen 3 decomps could be converted to a data representation that isn't raw assembler and C. The goal of this data conversion would be to make it simpler for external tools to work with the data. Working directly with assembler and C code takes more effort, is more error-prone, and is less extensible. JSON files are used in this document as the chosen data representation because JSON is widely supported and simple enough for a human to read. The chosen format could potentially be something else, but it should be widely supported (i.e. no custom formats). The work for this proposal is split into several parts:
- Convert maps data into individual JSON files
- Convert layouts data into a single JSON file
- Convert map groups into single JSON file
- Create new compile-time tool that transforms these JSON files into their old assembler representations (i.e. codegen).
1. Convert maps data into individual JSON files
Each map will move its data into a si