diff options
author | Star Rauchenberger <fefferburbia@gmail.com> | 2025-08-12 16:55:17 -0400 |
---|---|---|
committer | Star Rauchenberger <fefferburbia@gmail.com> | 2025-08-12 16:55:17 -0400 |
commit | 4c8a38dfc0121343396d2a0d734cf1445d05b60c (patch) | |
tree | ccaf6dd1dc6fee60ced5ae19c5d0bb5db1217fcb /proto/human.proto | |
parent | 447a222b57e498f7904033c59e68d21d6a246abd (diff) | |
download | lingo2-archipelago-4c8a38dfc0121343396d2a0d734cf1445d05b60c.tar.gz lingo2-archipelago-4c8a38dfc0121343396d2a0d734cf1445d05b60c.tar.bz2 lingo2-archipelago-4c8a38dfc0121343396d2a0d734cf1445d05b60c.zip |
Converted to proto2
This will let us use an older version of protobuf in Python, and allows us to use the Godot protobuf implementation at all. Scalar fields with custom defaults in data.proto were changed to not have a default, because Godot doesn't handle it properly. The equivalent fields in human.proto still have the defaults, and datapacker copies the default value in if necessary. The Panel message in data.proto was also renamed to PanelData because otherwise it conflicts with the native Godot class named Panel. The double field in Letter was renamed to level2, because Godot couldn't handle it well. Finally, common.proto was removed and its contents were moved into data.proto, which allows us to generate code for Python without needing to edit it. NOTE: I had to slightly modify the Godot protobuf code generator. I'll need to upload that somewhere.
Diffstat (limited to 'proto/human.proto')
-rw-r--r-- | proto/human.proto | 112 |
1 files changed, 56 insertions, 56 deletions
diff --git a/proto/human.proto b/proto/human.proto index 858c88f..b420cb4 100644 --- a/proto/human.proto +++ b/proto/human.proto | |||
@@ -1,43 +1,43 @@ | |||
1 | edition = "2023"; | 1 | syntax = "proto2"; |
2 | 2 | ||
3 | import "common.proto"; | 3 | import "data.proto"; |
4 | 4 | ||
5 | package com.fourisland.lingo2_archipelago; | 5 | package com.fourisland.lingo2_archipelago; |
6 | 6 | ||
7 | message RoomIdentifier { | 7 | message RoomIdentifier { |
8 | string map = 1; | 8 | optional string map = 1; |
9 | string name = 2; | 9 | optional string name = 2; |
10 | } | 10 | } |
11 | 11 | ||
12 | message DoorIdentifier { | 12 | message DoorIdentifier { |
13 | string map = 1; | 13 | optional string map = 1; |
14 | string name = 2; | 14 | optional string name = 2; |
15 | } | 15 | } |
16 | 16 | ||
17 | message PortIdentifier { | 17 | message PortIdentifier { |
18 | string map = 1; | 18 | optional string map = 1; |
19 | string room = 2; | 19 | optional string room = 2; |
20 | string name = 3; | 20 | optional string name = 3; |
21 | } | 21 | } |
22 | 22 | ||
23 | message PaintingIdentifier { | 23 | message PaintingIdentifier { |
24 | string map = 1; | 24 | optional string map = 1; |
25 | string room = 2; | 25 | optional string room = 2; |
26 | string name = 3; | 26 | optional string name = 3; |
27 | } | 27 | } |
28 | 28 | ||
29 | message PanelIdentifier { | 29 | message PanelIdentifier { |
30 | string map = 1; | 30 | optional string map = 1; |
31 | string room = 2; | 31 | optional string room = 2; |
32 | string name = 3; | 32 | optional string name = 3; |
33 | string answer = 4; | 33 | optional string answer = 4; |
34 | } | 34 | } |
35 | 35 | ||
36 | message KeyholderIdentifier { | 36 | message KeyholderIdentifier { |
37 | string map = 1; | 37 | optional string map = 1; |
38 | string room = 2; | 38 | optional string room = 2; |
39 | string name = 3; | 39 | optional string name = 3; |
40 | string key = 4; | 40 | optional string key = 4; |
41 | } | 41 | } |
42 | 42 | ||
43 | message HumanConnection { | 43 | message HumanConnection { |
@@ -60,8 +60,8 @@ message HumanConnection { | |||
60 | string to_room = 6; | 60 | string to_room = 6; |
61 | } | 61 | } |
62 | 62 | ||
63 | bool oneway = 3; | 63 | optional bool oneway = 3; |
64 | DoorIdentifier door = 4; | 64 | optional DoorIdentifier door = 4; |
65 | } | 65 | } |
66 | 66 | ||
67 | message HumanConnections { | 67 | message HumanConnections { |
@@ -69,7 +69,7 @@ message HumanConnections { | |||
69 | } | 69 | } |
70 | 70 | ||
71 | message HumanDoor { | 71 | message HumanDoor { |
72 | string name = 1; | 72 | optional string name = 1; |
73 | 73 | ||
74 | repeated string receivers = 2; | 74 | repeated string receivers = 2; |
75 | repeated PaintingIdentifier move_paintings = 8; | 75 | repeated PaintingIdentifier move_paintings = 8; |
@@ -79,15 +79,15 @@ message HumanDoor { | |||
79 | 79 | ||
80 | // If set, the number of panels from the above set that need to be solved. | 80 | // If set, the number of panels from the above set that need to be solved. |
81 | // Warning: this is a messy kind of OR logic! Consider if there's another way. | 81 | // Warning: this is a messy kind of OR logic! Consider if there's another way. |
82 | uint64 complete_at = 9; | 82 | optional uint64 complete_at = 9; |
83 | 83 | ||
84 | string control_center_color = 6; | 84 | optional string control_center_color = 6; |
85 | repeated string switches = 7; | 85 | repeated string switches = 7; |
86 | repeated KeyholderIdentifier keyholders = 10; | 86 | repeated KeyholderIdentifier keyholders = 10; |
87 | repeated RoomIdentifier rooms = 11; | 87 | repeated RoomIdentifier rooms = 11; |
88 | 88 | ||
89 | DoorType type = 4; | 89 | optional DoorType type = 4; |
90 | string location_room = 5; | 90 | optional string location_room = 5; |
91 | } | 91 | } |
92 | 92 | ||
93 | message HumanDoors { | 93 | message HumanDoors { |
@@ -95,64 +95,64 @@ message HumanDoors { | |||
95 | } | 95 | } |
96 | 96 | ||
97 | message HumanPanel { | 97 | message HumanPanel { |
98 | string name = 1; | 98 | optional string name = 1; |
99 | string path = 5; | 99 | optional string path = 5; |
100 | 100 | ||
101 | string clue = 2; | 101 | optional string clue = 2; |
102 | string answer = 3; | 102 | optional string answer = 3; |
103 | repeated string symbols = 4; | 103 | repeated string symbols = 4; |
104 | 104 | ||
105 | repeated Proxy proxies = 6; | 105 | repeated Proxy proxies = 6; |
106 | 106 | ||
107 | DoorIdentifier required_door = 7; | 107 | optional DoorIdentifier required_door = 7; |
108 | RoomIdentifier required_room = 8; | 108 | optional RoomIdentifier required_room = 8; |
109 | } | 109 | } |
110 | 110 | ||
111 | message HumanPainting { | 111 | message HumanPainting { |
112 | string name = 1; | 112 | optional string name = 1; |
113 | string path = 2; | 113 | optional string path = 2; |
114 | 114 | ||
115 | string display_name = 4; | 115 | optional string display_name = 4; |
116 | 116 | ||
117 | string orientation = 3; | 117 | optional string orientation = 3; |
118 | bool move = 6; | 118 | optional bool move = 6; |
119 | bool enter_only = 7; | 119 | optional bool enter_only = 7; |
120 | AxisDirection gravity = 8 [default = Y_MINUS]; | 120 | optional AxisDirection gravity = 8 [default = Y_MINUS]; |
121 | bool exit_only = 9; | 121 | optional bool exit_only = 9; |
122 | 122 | ||
123 | DoorIdentifier required_door = 5; | 123 | optional DoorIdentifier required_door = 5; |
124 | } | 124 | } |
125 | 125 | ||
126 | message HumanPort { | 126 | message HumanPort { |
127 | string name = 1; | 127 | optional string name = 1; |
128 | string path = 2; | 128 | optional string path = 2; |
129 | 129 | ||
130 | string orientation = 3; | 130 | optional string orientation = 3; |
131 | AxisDirection gravity = 5 [default = Y_MINUS]; | 131 | optional AxisDirection gravity = 5 [default = Y_MINUS]; |
132 | 132 | ||
133 | DoorIdentifier required_door = 4; | 133 | optional DoorIdentifier required_door = 4; |
134 | } | 134 | } |
135 | 135 | ||
136 | message HumanKeyholder { | 136 | message HumanKeyholder { |
137 | string name = 1; | 137 | optional string name = 1; |
138 | string path = 2; | 138 | optional string path = 2; |
139 | } | 139 | } |
140 | 140 | ||
141 | message HumanLetter { | 141 | message HumanLetter { |
142 | string key = 1; | 142 | optional string key = 1; |
143 | bool double = 2; | 143 | optional bool level2 = 2; |
144 | 144 | ||
145 | string path = 3; | 145 | optional string path = 3; |
146 | } | 146 | } |
147 | 147 | ||
148 | message HumanMastery { | 148 | message HumanMastery { |
149 | string name = 1; | 149 | optional string name = 1; |
150 | string path = 2; | 150 | optional string path = 2; |
151 | } | 151 | } |
152 | 152 | ||
153 | message HumanRoom { | 153 | message HumanRoom { |
154 | string name = 1; | 154 | optional string name = 1; |
155 | string display_name = 2; | 155 | optional string display_name = 2; |
156 | 156 | ||
157 | repeated HumanPanel panels = 3; | 157 | repeated HumanPanel panels = 3; |
158 | repeated HumanPainting paintings = 4; | 158 | repeated HumanPainting paintings = 4; |