summary refs log tree commit diff stats
path: root/tools/validator/validator.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'tools/validator/validator.cpp')
-rw-r--r--tools/validator/validator.cpp15
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
241void 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
243void ValidateCollectedInfo(const CollectedInfo& info) { 255void 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