Disassemble some more tables and the first graphic (#71)

* Sync tools/ directory with pokeemerald

We really ought to have a central repository for this mess

* Make incremental builds faster

Scientists hate him!
He made NODEP disappear with this ONE SIMPLE TRICK!!!
Want to know more? -> __click here__ <-

* Disassemble some more tables and the first graphic
This commit is contained in:
mid-kid
2021-11-04 21:07:26 +00:00
committed by GitHub
parent f1394cbb03
commit 681ca68ac9
43 changed files with 2194 additions and 949 deletions

View File

@@ -77,6 +77,10 @@ string generate_map_header_text(Json map_data, Json layouts_data, string version
ostringstream text;
text << "@\n@ DO NOT MODIFY THIS FILE! It is auto-generated from data/maps/"
<< map_data["name"].string_value()
<< "/map.json\n@\n\n";
text << map_data["name"].string_value() << ":\n"
<< "\t.4byte " << layout["name"].string_value() << "\n";
@@ -124,6 +128,10 @@ string generate_map_connections_text(Json map_data) {
ostringstream text;
text << "@\n@ DO NOT MODIFY THIS FILE! It is auto-generated from data/maps/"
<< map_data["name"].string_value()
<< "/map.json\n@\n\n";
text << map_data["name"].string_value() << "_MapConnectionsList:\n";
for (auto &connection : map_data["connections"].array_items()) {
@@ -146,6 +154,10 @@ string generate_map_events_text(Json map_data) {
ostringstream text;
text << "@\n@ DO NOT MODIFY THIS FILE! It is auto-generated from data/maps/"
<< map_data["name"].string_value()
<< "/map.json\n@\n\n";
string objects_label, warps_label, coords_label, bgs_label;
if (map_data["object_events"].array_items().size() > 0) {
@@ -286,6 +298,8 @@ void process_map(string map_filepath, string layouts_filepath, string version) {
string generate_groups_text(Json groups_data) {
ostringstream text;
text << "@\n@ DO NOT MODIFY THIS FILE! It is auto-generated from data/maps/map_groups.json\n@\n\n";
for (auto &key : groups_data["group_order"].array_items()) {
string group = key.string_value();
text << group << "::\n";
@@ -325,6 +339,8 @@ string generate_connections_text(Json groups_data) {
ostringstream text;
text << "@\n@ DO NOT MODIFY THIS FILE! It is auto-generated from data/maps/map_groups.json\n@\n\n";
for (Json map_name : map_names)
text << "\t.include \"data/maps/" << map_name.string_value() << "/connections.inc\"\n";
@@ -340,6 +356,8 @@ string generate_headers_text(Json groups_data) {
ostringstream text;
text << "@\n@ DO NOT MODIFY THIS FILE! It is auto-generated from data/maps/map_groups.json\n@\n\n";
for (string map_name : map_names)
text << "\t.include \"data/maps/" << map_name << "/header.inc\"\n";
@@ -355,6 +373,8 @@ string generate_events_text(Json groups_data) {
ostringstream text;
text << "@\n@ DO NOT MODIFY THIS FILE! It is auto-generated from data/maps/map_groups.json\n@\n\n";
for (string map_name : map_names)
text << "\t.include \"data/maps/" << map_name << "/events.inc\"\n";
@@ -370,10 +390,12 @@ string generate_map_constants_text(string groups_filepath, Json groups_data) {
text << "#ifndef GUARD_CONSTANTS_MAP_GROUPS_H\n"
<< "#define GUARD_CONSTANTS_MAP_GROUPS_H\n\n";
text << "//\n// DO NOT MODIFY THIS FILE! It is auto-generated from data/maps/map_groups.json\n//\n\n";
int group_num = 0;
for (auto &group : groups_data["group_order"].array_items()) {
text << "// Map Group " << group_num << "\n";
text << "// " << group.string_value() << "\n";
vector<Json> map_ids;
size_t max_length = 0;
@@ -428,6 +450,8 @@ void process_groups(string groups_filepath) {
string generate_layout_headers_text(Json layouts_data) {
ostringstream text;
text << "@\n@ DO NOT MODIFY THIS FILE! It is auto-generated from data/layouts/layouts.json\n@\n\n";
for (auto &layout : layouts_data["layouts"].array_items()) {
string border_label = layout["name"].string_value() + "_Border";
string blockdata_label = layout["name"].string_value() + "_Blockdata";
@@ -451,6 +475,8 @@ string generate_layout_headers_text(Json layouts_data) {
string generate_layouts_table_text(Json layouts_data) {
ostringstream text;
text << "@\n@ DO NOT MODIFY THIS FILE! It is auto-generated from data/layouts/layouts.json\n@\n\n";
text << "\t.align 2\n"
<< layouts_data["layouts_table_label"].string_value() << "::\n";
@@ -466,6 +492,8 @@ string generate_layouts_constants_text(Json layouts_data) {
text << "#ifndef GUARD_CONSTANTS_LAYOUTS_H\n"
<< "#define GUARD_CONSTANTS_LAYOUTS_H\n\n";
text << "//\n// DO NOT MODIFY THIS FILE! It is auto-generated from data/layouts/layouts.json\n//\n\n";
int i = 0;
for (auto &layout : layouts_data["layouts"].array_items())
text << "#define " << layout["id"].string_value() << " " << ++i << "\n";