[jasper/world] Add valid/repair funcs for WorldDoc
This commit is contained in:
parent
f818ae3a51
commit
0dcae45825
@ -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 {};
|
||||
|
Loading…
x
Reference in New Issue
Block a user