[jasper/world] Add valid/repair funcs for WorldDoc

This commit is contained in:
Gary Talent 2024-12-04 19:50:38 -06:00
parent f818ae3a51
commit 0dcae45825

View File

@ -116,9 +116,13 @@ oxModelEnd()
[[nodiscard]]
constexpr bool valid(WorldDoc const&doc) noexcept {
for (auto &lyr : doc.tiles) {
if (lyr.size() == static_cast<size_t>(doc.columns)) { return false; }
if (lyr.size() < static_cast<size_t>(doc.rows)) {
return false;
}
for (auto &row : lyr) {
if (row.size() == static_cast<size_t>(doc.rows)) { return false; }
if (row.size() < static_cast<size_t>(doc.columns)) {
return false;
}
}
}
return true;
@ -126,9 +130,9 @@ constexpr bool valid(WorldDoc const&doc) noexcept {
constexpr ox::Error repair(WorldDoc &doc) noexcept {
for (auto &lyr : doc.tiles) {
lyr.resize(static_cast<size_t>(doc.columns));
lyr.resize(static_cast<size_t>(doc.rows));
for (auto &row : lyr) {
row.resize(static_cast<size_t>(doc.rows));
row.resize(static_cast<size_t>(doc.columns));
}
}
return {};