[jasper/world] Add valid/repair funcs for WorldDoc
This commit is contained in:
parent
f818ae3a51
commit
0dcae45825
@ -116,9 +116,13 @@ oxModelEnd()
|
|||||||
[[nodiscard]]
|
[[nodiscard]]
|
||||||
constexpr bool valid(WorldDoc const&doc) noexcept {
|
constexpr bool valid(WorldDoc const&doc) noexcept {
|
||||||
for (auto &lyr : doc.tiles) {
|
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) {
|
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;
|
return true;
|
||||||
@ -126,9 +130,9 @@ constexpr bool valid(WorldDoc const&doc) noexcept {
|
|||||||
|
|
||||||
constexpr ox::Error repair(WorldDoc &doc) noexcept {
|
constexpr ox::Error repair(WorldDoc &doc) noexcept {
|
||||||
for (auto &lyr : doc.tiles) {
|
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) {
|
for (auto &row : lyr) {
|
||||||
row.resize(static_cast<size_t>(doc.rows));
|
row.resize(static_cast<size_t>(doc.columns));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
return {};
|
return {};
|
||||||
|
Loading…
x
Reference in New Issue
Block a user