summary refs log tree commit diff stats
path: root/tools/assign_ids/main.cpp
diff options
context:
space:
mode:
authorStar Rauchenberger <fefferburbia@gmail.com>2025-08-09 11:51:20 -0400
committerStar Rauchenberger <fefferburbia@gmail.com>2025-08-09 11:51:20 -0400
commit9ca8681ca5f134d65eaa4b5ae68d57ba67fe98d6 (patch)
tree6d58ffe2e9a60eac681b22b0cb0bd03baf74990c /tools/assign_ids/main.cpp
parent3fcc676cd3b9b3b24a8755612a459d498879b1df (diff)
downloadlingo2-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.cpp30
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
13namespace com::fourisland::lingo2_archipelago { 14namespace com::fourisland::lingo2_archipelago {
14namespace { 15namespace {
@@ -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: