diff options
Diffstat (limited to 'tools/validator/validator.cpp')
| -rw-r--r-- | tools/validator/validator.cpp | 21 |
1 files changed, 21 insertions, 0 deletions
| diff --git a/tools/validator/validator.cpp b/tools/validator/validator.cpp index fe36be7..e9fbb74 100644 --- a/tools/validator/validator.cpp +++ b/tools/validator/validator.cpp | |||
| @@ -1,5 +1,6 @@ | |||
| 1 | #include "validator.h" | 1 | #include "validator.h" |
| 2 | 2 | ||
| 3 | #include <algorithm> | ||
| 3 | #include <iostream> | 4 | #include <iostream> |
| 4 | 5 | ||
| 5 | #include "proto/human.pb.h" | 6 | #include "proto/human.pb.h" |
| @@ -74,6 +75,22 @@ class Validator { | |||
| 74 | std::cout << "The worldport entrance for map " << map_name | 75 | std::cout << "The worldport entrance for map " << map_name |
| 75 | << " is malformed." << std::endl; | 76 | << " is malformed." << std::endl; |
| 76 | } | 77 | } |
| 78 | |||
| 79 | if (map_info.has_rte_id) { | ||
| 80 | if (!std::any_of( | ||
| 81 | map_info.definitions.begin(), map_info.definitions.end(), | ||
| 82 | [](const HumanMap& h_map) { return h_map.has_rte_room(); })) { | ||
| 83 | std::cout << "Map " << map_name << " has an RTE ID but no RTE room." | ||
| 84 | << std::endl; | ||
| 85 | } | ||
| 86 | } else { | ||
| 87 | if (std::any_of( | ||
| 88 | map_info.definitions.begin(), map_info.definitions.end(), | ||
| 89 | [](const HumanMap& h_map) { return h_map.has_rte_room(); })) { | ||
| 90 | std::cout << "Map " << map_name << " has an RTE room but no RTE ID." | ||
| 91 | << std::endl; | ||
| 92 | } | ||
| 93 | } | ||
| 77 | } | 94 | } |
| 78 | 95 | ||
| 79 | void ValidateRoom(const RoomIdentifier& room_identifier, | 96 | void ValidateRoom(const RoomIdentifier& room_identifier, |
| @@ -99,6 +116,10 @@ class Validator { | |||
| 99 | std::cout << " CONNECTION " << connection.ShortDebugString() | 116 | std::cout << " CONNECTION " << connection.ShortDebugString() |
| 100 | << std::endl; | 117 | << std::endl; |
| 101 | } | 118 | } |
| 119 | |||
| 120 | for (const std::string& map_name : room_info.map_rtes_referenced_by) { | ||
| 121 | std::cout << " MAP RTE " << map_name << std::endl; | ||
| 122 | } | ||
| 102 | } else if (room_info.definitions.size() > 1) { | 123 | } else if (room_info.definitions.size() > 1) { |
| 103 | std::cout << "Room " << room_identifier.ShortDebugString() | 124 | std::cout << "Room " << room_identifier.ShortDebugString() |
| 104 | << " was defined multiple times." << std::endl; | 125 | << " was defined multiple times." << std::endl; |
