From 15b8794bbe80be0bcf1f482674455efe002cec2c Mon Sep 17 00:00:00 2001 From: Star Rauchenberger Date: Sun, 17 Aug 2025 16:36:24 -0400 Subject: Validate that node paths aren't used multiple times --- tools/validator/validator.cpp | 12 ++++++++++++ 1 file changed, 12 insertions(+) (limited to 'tools/validator/validator.cpp') diff --git a/tools/validator/validator.cpp b/tools/validator/validator.cpp index 3381ed2..f2ec280 100644 --- a/tools/validator/validator.cpp +++ b/tools/validator/validator.cpp @@ -9,6 +9,15 @@ namespace com::fourisland::lingo2_archipelago { namespace { +void ValidateMap(const std::string& map_name, const MapInfo& map_info) { + for (const auto& [node_path, node_info] : map_info.game_nodes) { + if (node_info.uses > 1) { + std::cout << "Map " << map_name << " node " << node_path + << " is used in multiple places." << std::endl; + } + } +} + void ValidateRoom(const RoomIdentifier& room_identifier, const RoomInfo& room_info) { if (room_info.definitions.empty()) { @@ -224,6 +233,9 @@ void ValidateLetter(const LetterIdentifier& letter_identifier, } // namespace void ValidateCollectedInfo(const CollectedInfo& info) { + for (const auto& [map_name, map_info] : info.maps) { + ValidateMap(map_name, map_info); + } for (const auto& [room_identifier, room_info] : info.rooms) { ValidateRoom(room_identifier, room_info); } -- cgit 1.4.1