diff options
author | Star Rauchenberger <fefferburbia@gmail.com> | 2025-08-09 11:51:20 -0400 |
---|---|---|
committer | Star Rauchenberger <fefferburbia@gmail.com> | 2025-08-09 11:51:20 -0400 |
commit | 9ca8681ca5f134d65eaa4b5ae68d57ba67fe98d6 (patch) | |
tree | 6d58ffe2e9a60eac681b22b0cb0bd03baf74990c /tools/assign_ids/main.cpp | |
parent | 3fcc676cd3b9b3b24a8755612a459d498879b1df (diff) | |
download | lingo2-archipelago-9ca8681ca5f134d65eaa4b5ae68d57ba67fe98d6.tar.gz lingo2-archipelago-9ca8681ca5f134d65eaa4b5ae68d57ba67fe98d6.tar.bz2 lingo2-archipelago-9ca8681ca5f134d65eaa4b5ae68d57ba67fe98d6.zip |
Added support for masteries
Also assigned IDs for the_butterfly, as well as already configured letters.
Diffstat (limited to 'tools/assign_ids/main.cpp')
-rw-r--r-- | tools/assign_ids/main.cpp | 30 |
1 files changed, 30 insertions, 0 deletions
diff --git a/tools/assign_ids/main.cpp b/tools/assign_ids/main.cpp index f10a21c..eba4fd6 100644 --- a/tools/assign_ids/main.cpp +++ b/tools/assign_ids/main.cpp | |||
@@ -9,6 +9,7 @@ | |||
9 | #include <string> | 9 | #include <string> |
10 | 10 | ||
11 | #include "proto/human.pb.h" | 11 | #include "proto/human.pb.h" |
12 | #include "util/naming.h" | ||
12 | 13 | ||
13 | namespace com::fourisland::lingo2_archipelago { | 14 | namespace com::fourisland::lingo2_archipelago { |
14 | namespace { | 15 | namespace { |
@@ -155,6 +156,35 @@ class AssignIds { | |||
155 | panels[h_panel.name()] = next_id_++; | 156 | panels[h_panel.name()] = next_id_++; |
156 | } | 157 | } |
157 | } | 158 | } |
159 | |||
160 | for (const HumanLetter& h_letter : h_room.letters()) { | ||
161 | std::string lettername = | ||
162 | GetLetterName(h_letter.key(), h_letter.double_()); | ||
163 | |||
164 | if (!id_mappings_.letters().contains(lettername)) { | ||
165 | auto& letters = *id_mappings_.mutable_letters(); | ||
166 | letters[lettername] = next_id_++; | ||
167 | } | ||
168 | } | ||
169 | |||
170 | for (const HumanMastery& h_mastery : h_room.masteries()) { | ||
171 | if (!id_mappings_.maps().contains(current_map_name) || | ||
172 | !id_mappings_.maps() | ||
173 | .at(current_map_name) | ||
174 | .rooms() | ||
175 | .contains(h_room.name()) || | ||
176 | !id_mappings_.maps() | ||
177 | .at(current_map_name) | ||
178 | .rooms() | ||
179 | .at(h_room.name()) | ||
180 | .masteries() | ||
181 | .contains(h_mastery.name())) { | ||
182 | auto& maps = *id_mappings_.mutable_maps(); | ||
183 | auto& rooms = *maps[current_map_name].mutable_rooms(); | ||
184 | auto& masteries = *rooms[h_room.name()].mutable_masteries(); | ||
185 | masteries[h_mastery.name()] = next_id_++; | ||
186 | } | ||
187 | } | ||
158 | } | 188 | } |
159 | 189 | ||
160 | private: | 190 | private: |