about summary refs log tree commit diff stats
path: root/proto
diff options
context:
space:
mode:
authorStar Rauchenberger <fefferburbia@gmail.com>2025-09-07 15:42:00 -0400
committerStar Rauchenberger <fefferburbia@gmail.com>2025-09-07 15:42:00 -0400
commitd79984b099c3f762b95d3b4257bef113d3a8d6ee (patch)
treebcb647c4734b9ddecb465f818e06efc899482f4e /proto
parent8ab6132f99e9a033c170310b2d88a7312e46a153 (diff)
downloadlingo2-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.proto23
-rw-r--r--proto/human.proto11
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
32enum 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
32enum AxisDirection { 46enum 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
249message 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
235message AllObjects { 257message 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
206message HumanDoorGroup {
207 optional string name = 1;
208 optional DoorGroupType type = 2;
209 repeated DoorIdentifier doors = 3;
210}
211
212message HumanDoorGroups {
213 repeated HumanDoorGroup door_groups = 1;
214}
215
206message IdMappings { 216message 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}