about summary refs log tree commit diff stats
path: root/tools/validator/structs.h
diff options
context:
space:
mode:
Diffstat (limited to 'tools/validator/structs.h')
-rw-r--r--tools/validator/structs.h18
1 files changed, 18 insertions, 0 deletions
diff --git a/tools/validator/structs.h b/tools/validator/structs.h index 717fccf..d1d45f2 100644 --- a/tools/validator/structs.h +++ b/tools/validator/structs.h
@@ -39,6 +39,7 @@ struct RoomInfo {
39 39
40struct DoorInfo { 40struct DoorInfo {
41 std::vector<HumanDoor> definitions; 41 std::vector<HumanDoor> definitions;
42 bool has_id = false;
42 43
43 std::vector<HumanConnection> connections_referenced_by; 44 std::vector<HumanConnection> connections_referenced_by;
44 std::vector<DoorIdentifier> doors_referenced_by; 45 std::vector<DoorIdentifier> doors_referenced_by;
@@ -46,6 +47,7 @@ struct DoorInfo {
46 std::vector<PaintingIdentifier> paintings_referenced_by; 47 std::vector<PaintingIdentifier> paintings_referenced_by;
47 std::vector<PortIdentifier> ports_referenced_by; 48 std::vector<PortIdentifier> ports_referenced_by;
48 std::vector<std::string> progressives_referenced_by; 49 std::vector<std::string> progressives_referenced_by;
50 std::vector<std::string> door_groups_referenced_by;
49 51
50 MalformedIdentifiers malformed_identifiers; 52 MalformedIdentifiers malformed_identifiers;
51}; 53};
@@ -54,12 +56,14 @@ struct PortInfo {
54 std::vector<HumanPort> definitions; 56 std::vector<HumanPort> definitions;
55 57
56 std::vector<HumanConnection> connections_referenced_by; 58 std::vector<HumanConnection> connections_referenced_by;
59 std::vector<HumanConnection> target_connections_referenced_by;
57}; 60};
58 61
59struct PaintingInfo { 62struct PaintingInfo {
60 std::vector<HumanPainting> definitions; 63 std::vector<HumanPainting> definitions;
61 64
62 std::vector<HumanConnection> connections_referenced_by; 65 std::vector<HumanConnection> connections_referenced_by;
66 std::vector<HumanConnection> target_connections_referenced_by;
63 std::vector<DoorIdentifier> doors_referenced_by; 67 std::vector<DoorIdentifier> doors_referenced_by;
64}; 68};
65 69
@@ -72,10 +76,12 @@ struct ProxyInfo {
72 76
73struct PanelInfo { 77struct PanelInfo {
74 std::vector<HumanPanel> definitions; 78 std::vector<HumanPanel> definitions;
79 bool has_id = false;
75 80
76 std::string map_area_name; 81 std::string map_area_name;
77 82
78 std::vector<HumanConnection> connections_referenced_by; 83 std::vector<HumanConnection> connections_referenced_by;
84 std::vector<HumanConnection> target_connections_referenced_by;
79 std::vector<DoorIdentifier> doors_referenced_by; 85 std::vector<DoorIdentifier> doors_referenced_by;
80 86
81 std::map<std::string, ProxyInfo> proxies; 87 std::map<std::string, ProxyInfo> proxies;
@@ -83,6 +89,7 @@ struct PanelInfo {
83 89
84struct KeyholderInfo { 90struct KeyholderInfo {
85 std::vector<HumanKeyholder> definitions; 91 std::vector<HumanKeyholder> definitions;
92 bool has_id = false;
86 93
87 std::vector<DoorIdentifier> doors_referenced_by; 94 std::vector<DoorIdentifier> doors_referenced_by;
88}; 95};
@@ -91,10 +98,12 @@ using LetterIdentifier = std::tuple<char, bool>;
91 98
92struct LetterInfo { 99struct LetterInfo {
93 std::vector<RoomIdentifier> defined_in; 100 std::vector<RoomIdentifier> defined_in;
101 bool has_id = false;
94}; 102};
95 103
96struct EndingInfo { 104struct EndingInfo {
97 std::vector<RoomIdentifier> defined_in; 105 std::vector<RoomIdentifier> defined_in;
106 bool has_id = false;
98 107
99 std::vector<DoorIdentifier> doors_referenced_by; 108 std::vector<DoorIdentifier> doors_referenced_by;
100}; 109};
@@ -105,6 +114,14 @@ struct PanelNameInfo {
105 114
106struct ProgressiveInfo { 115struct ProgressiveInfo {
107 std::vector<HumanProgressive> definitions; 116 std::vector<HumanProgressive> definitions;
117 bool has_id = false;
118
119 std::vector<DoorIdentifier> malformed_doors;
120};
121
122struct DoorGroupInfo {
123 std::vector<HumanDoorGroup> definitions;
124 bool has_id = false;
108 125
109 std::vector<DoorIdentifier> malformed_doors; 126 std::vector<DoorIdentifier> malformed_doors;
110}; 127};
@@ -122,6 +139,7 @@ struct CollectedInfo {
122 std::map<std::string, EndingInfo> endings; 139 std::map<std::string, EndingInfo> endings;
123 std::map<std::string, PanelNameInfo> panel_names; 140 std::map<std::string, PanelNameInfo> panel_names;
124 std::map<std::string, ProgressiveInfo> progressives; 141 std::map<std::string, ProgressiveInfo> progressives;
142 std::map<std::string, DoorGroupInfo> door_groups;
125}; 143};
126 144
127} // namespace com::fourisland::lingo2_archipelago 145} // namespace com::fourisland::lingo2_archipelago