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/util/ids_yaml_format.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/util/ids_yaml_format.cpp')
-rw-r--r-- | tools/util/ids_yaml_format.cpp | 15 |
1 files changed, 15 insertions, 0 deletions
diff --git a/tools/util/ids_yaml_format.cpp b/tools/util/ids_yaml_format.cpp index ae62073..67c21d6 100644 --- a/tools/util/ids_yaml_format.cpp +++ b/tools/util/ids_yaml_format.cpp | |||
@@ -56,6 +56,14 @@ IdMappings ReadIdsFromYaml(const std::string& filename) { | |||
56 | mastery_it.second.as<uint64_t>(); | 56 | mastery_it.second.as<uint64_t>(); |
57 | } | 57 | } |
58 | } | 58 | } |
59 | |||
60 | if (room_it.second["keyholders"]) { | ||
61 | for (const auto& keyholder_it : room_it.second["keyholders"]) { | ||
62 | (*room_ids.mutable_keyholders())[keyholder_it.first | ||
63 | .as<std::string>()] = | ||
64 | keyholder_it.second.as<uint64_t>(); | ||
65 | } | ||
66 | } | ||
59 | } | 67 | } |
60 | } | 68 | } |
61 | 69 | ||
@@ -124,6 +132,13 @@ void WriteIdsAsYaml(const IdMappings& ids, const std::string& filename) { | |||
124 | mastery_id; | 132 | mastery_id; |
125 | }); | 133 | }); |
126 | 134 | ||
135 | OperateOnSortedMap(room_ids.keyholders(), | ||
136 | [&room_node](const std::string& keyholder_name, | ||
137 | uint64_t keyholder_id) { | ||
138 | room_node["keyholders"][keyholder_name] = | ||
139 | keyholder_id; | ||
140 | }); | ||
141 | |||
127 | map_node["rooms"][room_name] = std::move(room_node); | 142 | map_node["rooms"][room_name] = std::move(room_node); |
128 | }); | 143 | }); |
129 | 144 | ||