diff options
author | mid-kid <esteve.varela@gmail.com> | 2021-11-04 21:07:26 +0000 |
---|---|---|
committer | GitHub <noreply@github.com> | 2021-11-04 14:07:26 -0700 |
commit | 681ca68ac96e8d39f49eb2c9f42e5c1e1041f5e0 (patch) | |
tree | 52a507350ab3fb83d1207b7ccf8266693c2f5a24 /tools/mapjson | |
parent | f1394cbb03aa9fb1c928c6de1648ef459d2bf66b (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')
-rwxr-xr-x[-rw-r--r--] | tools/mapjson/.gitignore | 0 | ||||
-rw-r--r-- | tools/mapjson/Makefile | 10 | ||||
-rw-r--r-- | tools/mapjson/mapjson.cpp | 30 |
3 files changed, 37 insertions, 3 deletions
diff --git a/tools/mapjson/.gitignore b/tools/mapjson/.gitignore index a5d5684..a5d5684 100644..100755 --- a/tools/mapjson/.gitignore +++ b/tools/mapjson/.gitignore diff --git a/tools/mapjson/Makefile b/tools/mapjson/Makefile index c1f703f..100e809 100644 --- a/tools/mapjson/Makefile +++ b/tools/mapjson/Makefile @@ -6,12 +6,18 @@ SRCS := json11.cpp mapjson.cpp HEADERS := mapjson.h +ifeq ($(OS),Windows_NT) +EXE := .exe +else +EXE := +endif + .PHONY: all clean -all: mapjson +all: mapjson$(EXE) @: -mapjson: $(SRCS) $(HEADERS) +mapjson$(EXE): $(SRCS) $(HEADERS) $(CXX) $(CXXFLAGS) $(SRCS) -o $@ $(LDFLAGS) clean: 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"; |