summary refs log tree commit diff stats
path: root/proto
diff options
context:
space:
mode:
authorStar Rauchenberger <fefferburbia@gmail.com>2025-08-30 12:00:03 -0400
committerStar Rauchenberger <fefferburbia@gmail.com>2025-08-30 12:00:03 -0400
commitd2bc5b2811171685e8bdc895122987b53defcf0a (patch)
treedabf111e8d4ba8caceee46189075968e223e3ee8 /proto
parent3b77044a6a53d38a6960eb2a5855283a00b24d75 (diff)
downloadlingo2-archipelago-d2bc5b2811171685e8bdc895122987b53defcf0a.tar.gz
lingo2-archipelago-d2bc5b2811171685e8bdc895122987b53defcf0a.tar.bz2
lingo2-archipelago-d2bc5b2811171685e8bdc895122987b53defcf0a.zip
Changed how door location names are formatted
STANDARD type doors with at most four panels in the same map area and no
other trigger objects will have their location names generated from the
names of the panels used to open the door, similar to Lingo 1. Other
door types will use the door's name. In either case, the name can be
overridden using the new location_name field.

Rooms can also set a panel_display_name field, which will be used in
location names for doors, and is used to group panels into areas.

Panels themselves can set display names, which differentiates their
locations from other panels in the same area.

Many maps were updated for this, but note that the_symbolic and
the_unyielding have validator failures because of duplicate panel names.
This won't matter until panelsanity is implemented.
Diffstat (limited to 'proto')
-rw-r--r--proto/data.proto5
-rw-r--r--proto/human.proto7
2 files changed, 12 insertions, 0 deletions
diff --git a/proto/data.proto b/proto/data.proto index 93f2227..032cf3a 100644 --- a/proto/data.proto +++ b/proto/data.proto
@@ -107,6 +107,8 @@ message Door {
107 repeated uint64 endings = 16; 107 repeated uint64 endings = 16;
108 108
109 optional DoorType type = 8; 109 optional DoorType type = 8;
110
111 optional string location_name = 17;
110} 112}
111 113
112message PanelData { 114message PanelData {
@@ -124,6 +126,8 @@ message PanelData {
124 126
125 optional uint64 required_door = 9; 127 optional uint64 required_door = 9;
126 optional uint64 required_room = 11; 128 optional uint64 required_room = 11;
129
130 optional string display_name = 12;
127} 131}
128 132
129message PaintingData { 133message PaintingData {
@@ -198,6 +202,7 @@ message Room {
198 optional uint64 map_id = 8; 202 optional uint64 map_id = 8;
199 optional string name = 2; 203 optional string name = 2;
200 optional string display_name = 3; 204 optional string display_name = 3;
205 optional string panel_display_name = 13;
201 206
202 repeated uint64 panels = 4; 207 repeated uint64 panels = 4;
203 repeated uint64 paintings = 5; 208 repeated uint64 paintings = 5;
diff --git a/proto/human.proto b/proto/human.proto index 1a15c59..5f6354c 100644 --- a/proto/human.proto +++ b/proto/human.proto
@@ -90,6 +90,7 @@ message HumanDoor {
90 90
91 optional DoorType type = 4; 91 optional DoorType type = 4;
92 optional string location_room = 5; 92 optional string location_room = 5;
93 optional string location_name = 14;
93} 94}
94 95
95message HumanDoors { 96message HumanDoors {
@@ -108,6 +109,8 @@ message HumanPanel {
108 109
109 optional DoorIdentifier required_door = 7; 110 optional DoorIdentifier required_door = 7;
110 optional RoomIdentifier required_room = 8; 111 optional RoomIdentifier required_room = 8;
112
113 optional string display_name = 9;
111} 114}
112 115
113message HumanPainting { 116message HumanPainting {
@@ -161,6 +164,10 @@ message HumanRoom {
161 optional string name = 1; 164 optional string name = 1;
162 optional string display_name = 2; 165 optional string display_name = 2;
163 166
167 // This is used in panelsanity location names and location names for STANDARD
168 // doors generated from panels in the same area.
169 optional string panel_display_name = 10;
170
164 repeated HumanPanel panels = 3; 171 repeated HumanPanel panels = 3;
165 repeated HumanPainting paintings = 4; 172 repeated HumanPainting paintings = 4;
166 repeated HumanLetter letters = 5; 173 repeated HumanLetter letters = 5;