diff options
Diffstat (limited to 'tools/datapacker/container.cpp')
-rw-r--r-- | tools/datapacker/container.cpp | 16 |
1 files changed, 16 insertions, 0 deletions
diff --git a/tools/datapacker/container.cpp b/tools/datapacker/container.cpp index ffcb75a..0d3417e 100644 --- a/tools/datapacker/container.cpp +++ b/tools/datapacker/container.cpp | |||
@@ -205,6 +205,22 @@ uint64_t Container::FindLetterByName(std::string letter_name) { | |||
205 | } | 205 | } |
206 | } | 206 | } |
207 | 207 | ||
208 | uint64_t Container::FindOrAddEnding(std::string ending_name) { | ||
209 | auto it = ending_id_by_name_.find(ending_name); | ||
210 | if (it == ending_id_by_name_.end()) { | ||
211 | uint64_t new_id = all_objects_.endings_size(); | ||
212 | Ending* ending = all_objects_.add_endings(); | ||
213 | ending->set_id(new_id); | ||
214 | ending->set_name(ending_name); | ||
215 | |||
216 | ending_id_by_name_[ending_name] = new_id; | ||
217 | |||
218 | return new_id; | ||
219 | } else { | ||
220 | return it->second; | ||
221 | } | ||
222 | } | ||
223 | |||
208 | uint64_t Container::FindOrAddMastery(std::optional<std::string> map_name, | 224 | uint64_t Container::FindOrAddMastery(std::optional<std::string> map_name, |
209 | std::optional<std::string> room_name, | 225 | std::optional<std::string> room_name, |
210 | std::string mastery_name, | 226 | std::string mastery_name, |