summary refs log tree commit diff stats
path: root/tools/util/ids_yaml_format.cpp
diff options
context:
space:
mode:
authorStar Rauchenberger <fefferburbia@gmail.com>2025-09-02 14:09:35 -0400
committerStar Rauchenberger <fefferburbia@gmail.com>2025-09-02 14:09:35 -0400
commit7f82beb120e222ace6c258fc3982b5988f9ae070 (patch)
tree6a9fdf65badf1ed5e7d26b9a07bf0b0e840ca10e /tools/util/ids_yaml_format.cpp
parent7f5f14ddb5a67e1ccfdc7aa3d68d829473d0b745 (diff)
downloadlingo2-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.cpp15
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