diff --git a/src/jasper/modules/world/include/jasper/world/worlddoc.hpp b/src/jasper/modules/world/include/jasper/world/worlddoc.hpp index 507ce7b..5db52df 100644 --- a/src/jasper/modules/world/include/jasper/world/worlddoc.hpp +++ b/src/jasper/modules/world/include/jasper/world/worlddoc.hpp @@ -116,9 +116,13 @@ oxModelEnd() [[nodiscard]] constexpr bool valid(WorldDoc const&doc) noexcept { for (auto &lyr : doc.tiles) { - if (lyr.size() == static_cast(doc.columns)) { return false; } + if (lyr.size() < static_cast(doc.rows)) { + return false; + } for (auto &row : lyr) { - if (row.size() == static_cast(doc.rows)) { return false; } + if (row.size() < static_cast(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(doc.columns)); + lyr.resize(static_cast(doc.rows)); for (auto &row : lyr) { - row.resize(static_cast(doc.rows)); + row.resize(static_cast(doc.columns)); } } return {};