diff options
Diffstat (limited to 'tools/validator/validator.cpp')
| -rw-r--r-- | tools/validator/validator.cpp | 15 |
1 files changed, 15 insertions, 0 deletions
| diff --git a/tools/validator/validator.cpp b/tools/validator/validator.cpp index 6d01b7c..bc6b854 100644 --- a/tools/validator/validator.cpp +++ b/tools/validator/validator.cpp | |||
| @@ -238,6 +238,18 @@ void ValidateLetter(const LetterIdentifier& letter_identifier, | |||
| 238 | } | 238 | } |
| 239 | } | 239 | } |
| 240 | 240 | ||
| 241 | void ValidateEnding(const std::string& ending_name, | ||
| 242 | const EndingInfo& ending_info) { | ||
| 243 | if (ending_info.defined_in.size() > 1) { | ||
| 244 | std::cout << "Ending " << ending_name | ||
| 245 | << " was defined in multiple places:" << std::endl; | ||
| 246 | |||
| 247 | for (const RoomIdentifier& room_identifier : ending_info.defined_in) { | ||
| 248 | std::cout << " " << room_identifier.ShortDebugString() << std::endl; | ||
| 249 | } | ||
| 250 | } | ||
| 251 | } | ||
| 252 | |||
| 241 | } // namespace | 253 | } // namespace |
| 242 | 254 | ||
| 243 | void ValidateCollectedInfo(const CollectedInfo& info) { | 255 | void ValidateCollectedInfo(const CollectedInfo& info) { |
| @@ -265,6 +277,9 @@ void ValidateCollectedInfo(const CollectedInfo& info) { | |||
| 265 | for (const auto& [letter_identifier, letter_info] : info.letters) { | 277 | for (const auto& [letter_identifier, letter_info] : info.letters) { |
| 266 | ValidateLetter(letter_identifier, letter_info); | 278 | ValidateLetter(letter_identifier, letter_info); |
| 267 | } | 279 | } |
| 280 | for (const auto& [ending_name, ending_info] : info.endings) { | ||
| 281 | ValidateEnding(ending_name, ending_info); | ||
| 282 | } | ||
| 268 | } | 283 | } |
| 269 | 284 | ||
| 270 | } // namespace com::fourisland::lingo2_archipelago | 285 | } // namespace com::fourisland::lingo2_archipelago |
