#ifndef TOOLS_VALIDATOR_STRUCTS_H_ #define TOOLS_VALIDATOR_STRUCTS_H_ #include #include #include #include "proto/human.pb.h" #include "util/identifiers.h" namespace com::fourisland::lingo2_archipelago { struct MalformedIdentifiers { std::vector paintings; std::vector panels; std::vector keyholders; bool HasAny() const { return !paintings.empty() || !panels.empty() || !keyholders.empty(); } }; struct RoomInfo { std::vector definitions; std::vector doors_referenced_by; std::vector panels_referenced_by; std::vector connections_referenced_by; }; struct DoorInfo { std::vector definitions; std::vector connections_referenced_by; std::vector doors_referenced_by; std::vector panels_referenced_by; std::vector paintings_referenced_by; std::vector ports_referenced_by; MalformedIdentifiers malformed_identifiers; }; struct PortInfo { std::vector definitions; std::vector connections_referenced_by; }; struct PaintingInfo { std::vector definitions; std::vector connections_referenced_by; std::vector doors_referenced_by; }; struct ProxyInfo { std::vector definitions; std::vector connections_referenced_by; std::vector doors_referenced_by; }; struct PanelInfo { std::vector definitions; std::vector connections_referenced_by; std::vector doors_referenced_by; std::map proxies; }; struct KeyholderInfo { std::vector definitions; std::vector doors_referenced_by; }; using LetterIdentifier = std::tuple; struct LetterInfo { std::vector defined_in; }; struct CollectedInfo { std::map rooms; std::map doors; std::map ports; std::map paintings; std::map panels; std::map keyholders; std::map letters; }; } // namespace com::fourisland::lingo2_archipelago #endif /* TOOLS_VALIDATOR_STRUCTS_H_ */ mitter'>committer
blob: dfe77e2fff5c58e178195120f1a15a46f6d9a7db (plain) (blame)
1
2
3
4
5
6
7
doors {
  name: "Maze Entrance"
  type: STANDARD
  receivers: "Components/Doors/entry_1"
  panels { room: "Entrance" name: "VISIBLE" }
  location_room: "Entrance"
}