From d79984b099c3f762b95d3b4257bef113d3a8d6ee Mon Sep 17 00:00:00 2001 From: Star Rauchenberger Date: Sun, 7 Sep 2025 15:42:00 -0400 Subject: Added door groups --- proto/data.proto | 23 +++++++++++++++++++++++ proto/human.proto | 11 +++++++++++ 2 files changed, 34 insertions(+) (limited to 'proto') 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 { GRAVESTONE = 6; } +enum DoorGroupType { + DOOR_GROUP_TYPE_UNKNOWN = 0; + + // These doors border a worldport. They should be grouped when connections are + // not shuffled. + CONNECTOR = 1; + + // Similar to CONNECTOR, but these doors are also ordinarily opened by solving + // the COLOR panel in the Control Center. These should be grouped when + // connections are not shuffled, but are not items at all when control center + // colors are not shuffled. + COLOR_CONNECTOR = 2; +} + enum AxisDirection { AXIS_DIRECTION_UNKNOWN = 0; @@ -232,6 +246,14 @@ message Progressive { repeated uint64 doors = 4; } +message DoorGroup { + optional uint64 id = 1; + optional string name = 2; + optional uint64 ap_id = 3; + optional DoorGroupType type = 4; + repeated uint64 doors = 5; +} + message AllObjects { repeated Map maps = 7; repeated Room rooms = 1; @@ -245,5 +267,6 @@ message AllObjects { repeated Ending endings = 12; repeated Connection connections = 6; repeated Progressive progressives = 13; + repeated DoorGroup door_groups = 14; map special_ids = 8; } 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 { repeated HumanProgressive progressives = 1; } +message HumanDoorGroup { + optional string name = 1; + optional DoorGroupType type = 2; + repeated DoorIdentifier doors = 3; +} + +message HumanDoorGroups { + repeated HumanDoorGroup door_groups = 1; +} + message IdMappings { message RoomIds { map panels = 1; @@ -220,4 +230,5 @@ message IdMappings { map letters = 3; map endings = 4; map progressives = 5; + map door_groups = 6; } -- cgit 1.4.1