diff options
Diffstat (limited to 'tools/datapacker/container.cpp')
-rw-r--r-- | tools/datapacker/container.cpp | 17 |
1 files changed, 17 insertions, 0 deletions
diff --git a/tools/datapacker/container.cpp b/tools/datapacker/container.cpp index 2c68552..624caf8 100644 --- a/tools/datapacker/container.cpp +++ b/tools/datapacker/container.cpp | |||
@@ -331,6 +331,23 @@ uint64_t Container::FindOrAddDoor(std::optional<std::string> map_name, | |||
331 | } | 331 | } |
332 | } | 332 | } |
333 | 333 | ||
334 | uint64_t Container::FindOrAddProgressive(std::string prog_name) { | ||
335 | auto it = progressive_id_by_name_.find(prog_name); | ||
336 | |||
337 | if (it == progressive_id_by_name_.end()) { | ||
338 | uint64_t new_id = all_objects_.progressives_size(); | ||
339 | Progressive* progressive = all_objects_.add_progressives(); | ||
340 | progressive->set_id(new_id); | ||
341 | progressive->set_name(prog_name); | ||
342 | |||
343 | progressive_id_by_name_[prog_name] = new_id; | ||
344 | |||
345 | return new_id; | ||
346 | } else { | ||
347 | return it->second; | ||
348 | } | ||
349 | } | ||
350 | |||
334 | void Container::AddConnection(const Connection& connection) { | 351 | void Container::AddConnection(const Connection& connection) { |
335 | *all_objects_.add_connections() = connection; | 352 | *all_objects_.add_connections() = connection; |
336 | } | 353 | } |