summaryrefslogtreecommitdiff
path: root/tools/mapjson/mapjson.cpp
diff options
context:
space:
mode:
authormid-kid <esteve.varela@gmail.com>2021-11-04 21:07:26 +0000
committerGitHub <noreply@github.com>2021-11-04 14:07:26 -0700
commit681ca68ac96e8d39f49eb2c9f42e5c1e1041f5e0 (patch)
tree52a507350ab3fb83d1207b7ccf8266693c2f5a24 /tools/mapjson/mapjson.cpp
parentf1394cbb03aa9fb1c928c6de1648ef459d2bf66b (diff)
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
Diffstat (limited to 'tools/mapjson/mapjson.cpp')
-rw-r--r--tools/mapjson/mapjson.cpp30
1 files changed, 29 insertions, 1 deletions
diff --git a/tools/mapjson/mapjson.cpp b/tools/mapjson/mapjson.cpp
index 55335e3..d767b46 100644
--- a/tools/mapjson/mapjson.cpp
+++ b/tools/mapjson/mapjson.cpp
@@ -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";