summaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
-rw-r--r--test/wall-atlas.cpp1
-rw-r--r--wall-tileset-tool/main.cpp3
2 files changed, 4 insertions, 0 deletions
diff --git a/test/wall-atlas.cpp b/test/wall-atlas.cpp
index e49abd80..3fa78fc0 100644
--- a/test/wall-atlas.cpp
+++ b/test/wall-atlas.cpp
@@ -60,6 +60,7 @@ void test_read_groups(StringView filename)
fm_assert(!is_direction_defined(read_direction_metadata(jroot, Direction_::S)));
const auto dir = read_direction_metadata(jroot, Direction_::W);
+ fm_assert(is_direction_defined(dir));
fm_assert(dir.passability == pass_mode::shoot_through);
fm_assert(dir.wall.pixel_size == Vector2ui{} );
fm_assert(dir.wall.default_tint == false );
diff --git a/wall-tileset-tool/main.cpp b/wall-tileset-tool/main.cpp
index 4fc62b9d..4a64dc82 100644
--- a/wall-tileset-tool/main.cpp
+++ b/wall-tileset-tool/main.cpp
@@ -102,6 +102,9 @@ bool do_direction(state& st, size_t i)
for (auto [_str, ptr, tag] : Direction::groups)
{
+ const auto& old_group = old_dir.*ptr;
+ if (!old_group.is_defined)
+ continue;
if (!do_group(st, i, (size_t)tag, dir.*ptr))
return false;
}