diff options
author | Star Rauchenberger <fefferburbia@gmail.com> | 2025-09-07 15:42:00 -0400 |
---|---|---|
committer | Star Rauchenberger <fefferburbia@gmail.com> | 2025-09-07 15:42:00 -0400 |
commit | d79984b099c3f762b95d3b4257bef113d3a8d6ee (patch) | |
tree | bcb647c4734b9ddecb465f818e06efc899482f4e /proto | |
parent | 8ab6132f99e9a033c170310b2d88a7312e46a153 (diff) | |
download | lingo2-archipelago-d79984b099c3f762b95d3b4257bef113d3a8d6ee.tar.gz lingo2-archipelago-d79984b099c3f762b95d3b4257bef113d3a8d6ee.tar.bz2 lingo2-archipelago-d79984b099c3f762b95d3b4257bef113d3a8d6ee.zip |
Added door groups
Diffstat (limited to 'proto')
-rw-r--r-- | proto/data.proto | 23 | ||||
-rw-r--r-- | proto/human.proto | 11 |
2 files changed, 34 insertions, 0 deletions
diff --git a/proto/data.proto b/proto/data.proto index 855c28c..84d14ef 100644 --- a/proto/data.proto +++ b/proto/data.proto | |||
@@ -29,6 +29,20 @@ enum DoorType { | |||
29 | GRAVESTONE = 6; | 29 | GRAVESTONE = 6; |
30 | } | 30 | } |
31 | 31 | ||
32 | enum DoorGroupType { | ||
33 | DOOR_GROUP_TYPE_UNKNOWN = 0; | ||
34 | |||
35 | // These doors border a worldport. They should be grouped when connections are | ||
36 | // not shuffled. | ||
37 | CONNECTOR = 1; | ||
38 | |||
39 | // Similar to CONNECTOR, but these doors are also ordinarily opened by solving | ||
40 | // the COLOR panel in the Control Center. These should be grouped when | ||
41 | // connections are not shuffled, but are not items at all when control center | ||
42 | // colors are not shuffled. | ||
43 | COLOR_CONNECTOR = 2; | ||
44 | } | ||
45 | |||
32 | enum AxisDirection { | 46 | enum AxisDirection { |
33 | AXIS_DIRECTION_UNKNOWN = 0; | 47 | AXIS_DIRECTION_UNKNOWN = 0; |
34 | 48 | ||
@@ -232,6 +246,14 @@ message Progressive { | |||
232 | repeated uint64 doors = 4; | 246 | repeated uint64 doors = 4; |
233 | } | 247 | } |
234 | 248 | ||
249 | message DoorGroup { | ||
250 | optional uint64 id = 1; | ||
251 | optional string name = 2; | ||
252 | optional uint64 ap_id = 3; | ||
253 | optional DoorGroupType type = 4; | ||
254 | repeated uint64 doors = 5; | ||
255 | } | ||
256 | |||
235 | message AllObjects { | 257 | message AllObjects { |
236 | repeated Map maps = 7; | 258 | repeated Map maps = 7; |
237 | repeated Room rooms = 1; | 259 | repeated Room rooms = 1; |
@@ -245,5 +267,6 @@ message AllObjects { | |||
245 | repeated Ending endings = 12; | 267 | repeated Ending endings = 12; |
246 | repeated Connection connections = 6; | 268 | repeated Connection connections = 6; |
247 | repeated Progressive progressives = 13; | 269 | repeated Progressive progressives = 13; |
270 | repeated DoorGroup door_groups = 14; | ||
248 | map<string, uint64> special_ids = 8; | 271 | map<string, uint64> special_ids = 8; |
249 | } | 272 | } |
diff --git a/proto/human.proto b/proto/human.proto index 205b867..89fd076 100644 --- a/proto/human.proto +++ b/proto/human.proto | |||
@@ -203,6 +203,16 @@ message HumanProgressives { | |||
203 | repeated HumanProgressive progressives = 1; | 203 | repeated HumanProgressive progressives = 1; |
204 | } | 204 | } |
205 | 205 | ||
206 | message HumanDoorGroup { | ||
207 | optional string name = 1; | ||
208 | optional DoorGroupType type = 2; | ||
209 | repeated DoorIdentifier doors = 3; | ||
210 | } | ||
211 | |||
212 | message HumanDoorGroups { | ||
213 | repeated HumanDoorGroup door_groups = 1; | ||
214 | } | ||
215 | |||
206 | message IdMappings { | 216 | message IdMappings { |
207 | message RoomIds { | 217 | message RoomIds { |
208 | map<string, uint64> panels = 1; | 218 | map<string, uint64> panels = 1; |
@@ -220,4 +230,5 @@ message IdMappings { | |||
220 | map<string, uint64> letters = 3; | 230 | map<string, uint64> letters = 3; |
221 | map<string, uint64> endings = 4; | 231 | map<string, uint64> endings = 4; |
222 | map<string, uint64> progressives = 5; | 232 | map<string, uint64> progressives = 5; |
233 | map<string, uint64> door_groups = 6; | ||
223 | } | 234 | } |