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 |