about 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-10-27 10:12:58 -0400
committerStar Rauchenberger <fefferburbia@gmail.com>2025-10-27 10:12:58 -0400
commitcf638697c17ec186b5da88ea92fc005371c9eab7 (patch)
tree14e0968de95350d72a4f6e8f4384e47d8a97d8a5 /tools/util/ids_yaml_format.cpp
parent9cff6398c142822325154633e24d033a591b217e (diff)
downloadlingo2-archipelago-cf638697c17ec186b5da88ea92fc005371c9eab7.tar.gz
lingo2-archipelago-cf638697c17ec186b5da88ea92fc005371c9eab7.tar.bz2
lingo2-archipelago-cf638697c17ec186b5da88ea92fc005371c9eab7.zip
Assign stable IDs for shuffleable worldports HEAD main
Diffstat (limited to 'tools/util/ids_yaml_format.cpp')
-rw-r--r--tools/util/ids_yaml_format.cpp13
1 files changed, 13 insertions, 0 deletions
diff --git a/tools/util/ids_yaml_format.cpp b/tools/util/ids_yaml_format.cpp index 71bfd63..5b9113b 100644 --- a/tools/util/ids_yaml_format.cpp +++ b/tools/util/ids_yaml_format.cpp
@@ -64,6 +64,13 @@ IdMappings ReadIdsFromYaml(const std::string& filename) {
64 keyholder_it.second.as<uint64_t>(); 64 keyholder_it.second.as<uint64_t>();
65 } 65 }
66 } 66 }
67
68 if (room_it.second["ports"]) {
69 for (const auto& port_it : room_it.second["ports"]) {
70 (*room_ids.mutable_ports())[port_it.first.as<std::string>()] =
71 port_it.second.as<uint64_t>();
72 }
73 }
67 } 74 }
68 } 75 }
69 76
@@ -146,6 +153,12 @@ void WriteIdsAsYaml(const IdMappings& ids, const std::string& filename) {
146 keyholder_id; 153 keyholder_id;
147 }); 154 });
148 155
156 OperateOnSortedMap(
157 room_ids.ports(),
158 [&room_node](const std::string& port_name, uint64_t port_id) {
159 room_node["ports"][port_name] = port_id;
160 });
161
149 map_node["rooms"][room_name] = std::move(room_node); 162 map_node["rooms"][room_name] = std::move(room_node);
150 }); 163 });
151 164