about summary refs log tree commit diff stats
path: root/proto
diff options
context:
space:
mode:
Diffstat (limited to 'proto')
-rw-r--r--proto/data.proto14
-rw-r--r--proto/human.proto24
2 files changed, 36 insertions, 2 deletions
diff --git a/proto/data.proto b/proto/data.proto index d79f47d..e9cc7d7 100644 --- a/proto/data.proto +++ b/proto/data.proto
@@ -52,6 +52,13 @@ enum DoorGroupType {
52 SHUFFLE_GROUP = 4; 52 SHUFFLE_GROUP = 4;
53} 53}
54 54
55enum MapType {
56 NORMAL_MAP = 0;
57 ICARUS = 1;
58 GIFT_MAP = 2;
59 DEMO = 3;
60}
61
55enum AxisDirection { 62enum AxisDirection {
56 AXIS_DIRECTION_UNKNOWN = 0; 63 AXIS_DIRECTION_UNKNOWN = 0;
57 64
@@ -143,11 +150,13 @@ message Door {
143 repeated KeyholderAnswer keyholders = 13; 150 repeated KeyholderAnswer keyholders = 13;
144 repeated uint64 rooms = 14; 151 repeated uint64 rooms = 14;
145 repeated uint64 doors = 15; 152 repeated uint64 doors = 15;
146 repeated uint64 endings = 16; 153 optional bool white_ending = 16;
147 optional bool double_letters = 18; 154 optional bool double_letters = 18;
148 repeated string senders = 19; 155 repeated string senders = 19;
149 156
150 optional DoorType type = 8; 157 optional DoorType type = 8;
158 optional bool latch = 20;
159 optional bool legacy_location = 21;
151 160
152 optional string location_name = 17; 161 optional string location_name = 17;
153} 162}
@@ -190,6 +199,7 @@ message PaintingData {
190 199
191message Port { 200message Port {
192 optional uint64 id = 1; 201 optional uint64 id = 1;
202 optional uint64 ap_id = 11;
193 optional uint64 room_id = 2; 203 optional uint64 room_id = 2;
194 optional string name = 3; 204 optional string name = 3;
195 205
@@ -264,6 +274,8 @@ message Map {
264 optional uint64 id = 1; 274 optional uint64 id = 1;
265 optional string name = 2; 275 optional string name = 2;
266 optional string display_name = 3; 276 optional string display_name = 3;
277 optional uint64 worldport_entrance = 4;
278 optional MapType type = 5;
267} 279}
268 280
269message Progressive { 281message Progressive {
diff --git a/proto/human.proto b/proto/human.proto index 8e7767a..c586599 100644 --- a/proto/human.proto +++ b/proto/human.proto
@@ -104,7 +104,7 @@ message HumanDoor {
104 repeated KeyholderIdentifier keyholders = 10; 104 repeated KeyholderIdentifier keyholders = 10;
105 repeated RoomIdentifier rooms = 11; 105 repeated RoomIdentifier rooms = 11;
106 repeated DoorIdentifier doors = 12; 106 repeated DoorIdentifier doors = 12;
107 repeated string endings = 13; 107 optional bool white_ending = 13;
108 optional bool double_letters = 15; 108 optional bool double_letters = 15;
109 109
110 // Sender nodes to be added to the list of requirements for triggering the 110 // Sender nodes to be added to the list of requirements for triggering the
@@ -114,6 +114,16 @@ message HumanDoor {
114 optional DoorType type = 4; 114 optional DoorType type = 4;
115 optional string location_room = 5; 115 optional string location_room = 5;
116 optional string location_name = 14; 116 optional string location_name = 14;
117
118 // Non-item doors that are latched will stay open once opened, even if the
119 // opening trigger is deactivated. This applies to EVENT/LOCATION_ONLY doors,
120 // as well as item-locked doors when not shuffling doors.
121 optional bool latch = 17;
122
123 // If true, the client will treat this door like a location, even though no
124 // location is created for it in the generator. This helps provide backwards
125 // compatability with older worlds.
126 optional bool legacy_location = 18;
117} 127}
118 128
119message HumanDoors { 129message HumanDoors {
@@ -216,7 +226,18 @@ message HumanRoom {
216 226
217message HumanMap { 227message HumanMap {
218 optional string display_name = 1; 228 optional string display_name = 1;
229 optional MapType type = 4;
230
231 optional PortIdentifier worldport_entrance = 3;
232
233 // These two fields are used by the validator and nothing else. excluded_nodes
234 // are objects in the tscn that are intentionally not mentioned in the txtpb.
235 // custom_nodes are the reverse of that; objects that are mentioned in the
236 // txtpb but not present in the tscn. These are generally created dynamically
237 // by the game mod, but may also be used for places where the validator is
238 // just wrong about the contents of the map file.
219 repeated string excluded_nodes = 2; 239 repeated string excluded_nodes = 2;
240 repeated string custom_nodes = 5;
220} 241}
221 242
222message HumanProgressive { 243message HumanProgressive {
@@ -248,6 +269,7 @@ message IdMappings {
248 map<string, uint64> panels = 1; 269 map<string, uint64> panels = 1;
249 map<string, uint64> masteries = 2; 270 map<string, uint64> masteries = 2;
250 map<string, uint64> keyholders = 3; 271 map<string, uint64> keyholders = 3;
272 map<string, uint64> ports = 4;
251 } 273 }
252 274
253 message MapIds { 275 message MapIds {