about summary refs log tree commit diff stats
path: root/tools/validator/human_processor.cpp
diff options
context:
space:
mode:
authorStar Rauchenberger <fefferburbia@gmail.com>2026-02-06 13:45:01 -0500
committerStar Rauchenberger <fefferburbia@gmail.com>2026-02-06 13:45:01 -0500
commit27a1d63608cc370cdf491ae08c70c74f76956367 (patch)
tree3e1dbbfedc130e17eb8b0da575671e8f99c98a1e /tools/validator/human_processor.cpp
parentbde801d654ce6ddc41f703e55adfcc33b3f3104e (diff)
parent2a3916c1c58e033b06042d5d5413ea85cd94babf (diff)
downloadlingo2-archipelago-27a1d63608cc370cdf491ae08c70c74f76956367.tar.gz
lingo2-archipelago-27a1d63608cc370cdf491ae08c70c74f76956367.tar.bz2
lingo2-archipelago-27a1d63608cc370cdf491ae08c70c74f76956367.zip
Merge branch 'main' of fourisland.com:/srv/git/lingo2-archipelago
Diffstat (limited to 'tools/validator/human_processor.cpp')
-rw-r--r--tools/validator/human_processor.cpp16
1 files changed, 16 insertions, 0 deletions
diff --git a/tools/validator/human_processor.cpp b/tools/validator/human_processor.cpp index ffa9765..d6fcfa6 100644 --- a/tools/validator/human_processor.cpp +++ b/tools/validator/human_processor.cpp
@@ -74,6 +74,8 @@ class HumanProcessor {
74 MapInfo& map_info = info_.maps[current_map_name]; 74 MapInfo& map_info = info_.maps[current_map_name];
75 75
76 auto metadata = ReadMessageFromFile<HumanMap>(path.string()); 76 auto metadata = ReadMessageFromFile<HumanMap>(path.string());
77 map_info.definitions.push_back(metadata);
78
77 for (const std::string& path : metadata.excluded_nodes()) { 79 for (const std::string& path : metadata.excluded_nodes()) {
78 map_info.game_nodes[path].uses++; 80 map_info.game_nodes[path].uses++;
79 } 81 }
@@ -92,6 +94,15 @@ class HumanProcessor {
92 map_info.malformed_worldport_entrance = metadata.worldport_entrance(); 94 map_info.malformed_worldport_entrance = metadata.worldport_entrance();
93 } 95 }
94 } 96 }
97
98 if (metadata.has_rte_room()) {
99 RoomIdentifier room_identifier;
100 room_identifier.set_map(current_map_name);
101 room_identifier.set_name(metadata.rte_room());
102
103 RoomInfo& room_info = info_.rooms[room_identifier];
104 room_info.map_rtes_referenced_by.push_back(current_map_name);
105 }
95 } 106 }
96 107
97 void ProcessRooms(std::filesystem::path path, 108 void ProcessRooms(std::filesystem::path path,
@@ -617,6 +628,11 @@ class HumanProcessor {
617 port_info.has_id = true; 628 port_info.has_id = true;
618 } 629 }
619 } 630 }
631
632 if (map.has_rte()) {
633 MapInfo& map_info = info_.maps[map_name];
634 map_info.has_rte_id = true;
635 }
620 } 636 }
621 637
622 for (const auto& [tag, id] : ids.special()) { 638 for (const auto& [tag, id] : ids.special()) {