diff options
author | Star Rauchenberger <fefferburbia@gmail.com> | 2025-09-02 14:09:35 -0400 |
---|---|---|
committer | Star Rauchenberger <fefferburbia@gmail.com> | 2025-09-02 14:09:35 -0400 |
commit | 7f82beb120e222ace6c258fc3982b5988f9ae070 (patch) | |
tree | 6a9fdf65badf1ed5e7d26b9a07bf0b0e840ca10e /tools/assign_ids/main.cpp | |
parent | 7f5f14ddb5a67e1ccfdc7aa3d68d829473d0b745 (diff) | |
download | lingo2-archipelago-7f82beb120e222ace6c258fc3982b5988f9ae070.tar.gz lingo2-archipelago-7f82beb120e222ace6c258fc3982b5988f9ae070.tar.bz2 lingo2-archipelago-7f82beb120e222ace6c258fc3982b5988f9ae070.zip |
Added keyholder sanity
Diffstat (limited to 'tools/assign_ids/main.cpp')
-rw-r--r-- | tools/assign_ids/main.cpp | 23 |
1 files changed, 23 insertions, 0 deletions
diff --git a/tools/assign_ids/main.cpp b/tools/assign_ids/main.cpp index 3a2f347..6eb41e3 100644 --- a/tools/assign_ids/main.cpp +++ b/tools/assign_ids/main.cpp | |||
@@ -183,6 +183,29 @@ class AssignIds { | |||
183 | endings[h_ending.name()] = next_id_++; | 183 | endings[h_ending.name()] = next_id_++; |
184 | } | 184 | } |
185 | } | 185 | } |
186 | |||
187 | for (const HumanKeyholder& h_keyholder : h_room.keyholders()) { | ||
188 | if (!h_keyholder.has_key()) { | ||
189 | continue; | ||
190 | } | ||
191 | |||
192 | if (!id_mappings_.maps().contains(current_map_name) || | ||
193 | !id_mappings_.maps() | ||
194 | .at(current_map_name) | ||
195 | .rooms() | ||
196 | .contains(h_room.name()) || | ||
197 | !id_mappings_.maps() | ||
198 | .at(current_map_name) | ||
199 | .rooms() | ||
200 | .at(h_room.name()) | ||
201 | .keyholders() | ||
202 | .contains(h_keyholder.name())) { | ||
203 | auto& maps = *id_mappings_.mutable_maps(); | ||
204 | auto& rooms = *maps[current_map_name].mutable_rooms(); | ||
205 | auto& keyholders = *rooms[h_room.name()].mutable_keyholders(); | ||
206 | keyholders[h_keyholder.name()] = next_id_++; | ||
207 | } | ||
208 | } | ||
186 | } | 209 | } |
187 | 210 | ||
188 | void ProcessProgressivesFile(std::filesystem::path path) { | 211 | void ProcessProgressivesFile(std::filesystem::path path) { |