mirror of https://github.com/AxioDL/metaforce.git
CWorld: Make use of find_if in GetAreaIdForSaveId()
Same behavior minus any explicit mutable state.
This commit is contained in:
parent
86b94ad915
commit
6436184a3f
|
@ -712,19 +712,20 @@ bool CWorld::AreSkyNeedsMet() const {
|
||||||
}
|
}
|
||||||
|
|
||||||
TAreaId CWorld::GetAreaIdForSaveId(s32 saveId) const {
|
TAreaId CWorld::GetAreaIdForSaveId(s32 saveId) const {
|
||||||
if (saveId == -1)
|
if (saveId == -1) {
|
||||||
return kInvalidAreaId;
|
return kInvalidAreaId;
|
||||||
|
|
||||||
if (x18_areas.size() <= 0)
|
|
||||||
return kInvalidAreaId;
|
|
||||||
|
|
||||||
TAreaId cur = 0;
|
|
||||||
for (const auto& area : x18_areas) {
|
|
||||||
if (area->x88_areaId == saveId)
|
|
||||||
return cur;
|
|
||||||
++cur;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if (x18_areas.empty()) {
|
||||||
return kInvalidAreaId;
|
return kInvalidAreaId;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
const auto iter = std::find_if(x18_areas.cbegin(), x18_areas.cend(),
|
||||||
|
[saveId](const auto& area) { return area->x88_areaId == saveId; });
|
||||||
|
if (iter == x18_areas.cend()) {
|
||||||
|
return kInvalidAreaId;
|
||||||
|
}
|
||||||
|
|
||||||
|
return TAreaId(std::distance(x18_areas.cbegin(), iter));
|
||||||
|
}
|
||||||
} // namespace urde
|
} // namespace urde
|
||||||
|
|
Loading…
Reference in New Issue