From 184a6012dc888ad3b58b60815f369331482edd1b Mon Sep 17 00:00:00 2001 From: Stanislaw Halik Date: Tue, 28 Nov 2023 06:03:18 +0100 Subject: a --- blender/concrete-wall1/concrete-wall1.json | 51 ------------------------- blender/concrete-wall1/concrete-wall1.tpl.json | 17 +++++++++ blender/concrete-wall1/n/side/0001.png | Bin 0 -> 2302 bytes blender/concrete-wall1/n/top/0001.png | Bin 0 -> 2145 bytes blender/concrete-wall1/n/wall/0001.png | Bin 0 -> 6322 bytes blender/concrete-wall1/n/wall/0002.png | Bin 0 -> 7822 bytes blender/concrete-wall1/n/wall/0003.png | Bin 0 -> 7512 bytes blender/concrete-wall1/side/n/0001.png | Bin 2302 -> 0 bytes blender/concrete-wall1/top/n/0001.png | Bin 2145 -> 0 bytes blender/concrete-wall1/wall/n/0001.png | Bin 6322 -> 0 bytes blender/concrete-wall1/wall/n/0002.png | Bin 7822 -> 0 bytes blender/concrete-wall1/wall/n/0003.png | Bin 7512 -> 0 bytes serialize/wall-atlas.cpp | 3 +- wall-tileset-tool/main.cpp | 22 +++++++---- 14 files changed, 34 insertions(+), 59 deletions(-) delete mode 100644 blender/concrete-wall1/concrete-wall1.json create mode 100644 blender/concrete-wall1/concrete-wall1.tpl.json create mode 100644 blender/concrete-wall1/n/side/0001.png create mode 100644 blender/concrete-wall1/n/top/0001.png create mode 100644 blender/concrete-wall1/n/wall/0001.png create mode 100644 blender/concrete-wall1/n/wall/0002.png create mode 100644 blender/concrete-wall1/n/wall/0003.png delete mode 100644 blender/concrete-wall1/side/n/0001.png delete mode 100644 blender/concrete-wall1/top/n/0001.png delete mode 100644 blender/concrete-wall1/wall/n/0001.png delete mode 100644 blender/concrete-wall1/wall/n/0002.png delete mode 100644 blender/concrete-wall1/wall/n/0003.png diff --git a/blender/concrete-wall1/concrete-wall1.json b/blender/concrete-wall1/concrete-wall1.json deleted file mode 100644 index 196085bd..00000000 --- a/blender/concrete-wall1/concrete-wall1.json +++ /dev/null @@ -1,51 +0,0 @@ -{ - "name": "foo", - "depth": 42, - "frames": [ - { - "offset": "0 x 0", - "size": "64 x 192" - }, - { - - "offset": "64 x 0", - "size": "64 x 64" - }, - { - - "offset": "128 x 0", - "size": "64 x 64" - } - ], - "n": { - "wall": { - "offset": 0, - "count": 1 - } - }, - "w": { - "pass-mode": "shoot-through", - "wall": { - "default-tint": false, - "offset": 0, - "count": 1 - }, - "side": { - "pixel-size": "42 x 192", - "default-tint": true - }, - "top": { - "pixel-size": "192 x 42", - "offset": 1, - "count": 2 - }, - "overlay": { - "pixel-size": "42 x 192", - "tint-mult": [ 0.125, 0.25, 0.5, 1 ], - "tint-add": [ 1, 2, 3 ], - "default-tint": false, - "mirrored": true - }, - "corner-L": { "from-rotation": "n" } - } -} diff --git a/blender/concrete-wall1/concrete-wall1.tpl.json b/blender/concrete-wall1/concrete-wall1.tpl.json new file mode 100644 index 00000000..ae29a94e --- /dev/null +++ b/blender/concrete-wall1/concrete-wall1.tpl.json @@ -0,0 +1,17 @@ +{ + "name": "concrete-wall1", + "depth": 20, + "n": { + "pass-mode": "blocked", + "wall": { + "pixel-size": "64 x 192" + }, + "side": { + "pixel-size": "20 x 192" + + }, + "top": { + "pixel-size": "192 x 20" + } + } +} diff --git a/blender/concrete-wall1/n/side/0001.png b/blender/concrete-wall1/n/side/0001.png new file mode 100644 index 00000000..69b349c5 Binary files /dev/null and b/blender/concrete-wall1/n/side/0001.png differ diff --git a/blender/concrete-wall1/n/top/0001.png b/blender/concrete-wall1/n/top/0001.png new file mode 100644 index 00000000..495a2e48 Binary files /dev/null and b/blender/concrete-wall1/n/top/0001.png differ diff --git a/blender/concrete-wall1/n/wall/0001.png b/blender/concrete-wall1/n/wall/0001.png new file mode 100644 index 00000000..5632b9d5 Binary files /dev/null and b/blender/concrete-wall1/n/wall/0001.png differ diff --git a/blender/concrete-wall1/n/wall/0002.png b/blender/concrete-wall1/n/wall/0002.png new file mode 100644 index 00000000..e6320348 Binary files /dev/null and b/blender/concrete-wall1/n/wall/0002.png differ diff --git a/blender/concrete-wall1/n/wall/0003.png b/blender/concrete-wall1/n/wall/0003.png new file mode 100644 index 00000000..4da9d208 Binary files /dev/null and b/blender/concrete-wall1/n/wall/0003.png differ diff --git a/blender/concrete-wall1/side/n/0001.png b/blender/concrete-wall1/side/n/0001.png deleted file mode 100644 index 69b349c5..00000000 Binary files a/blender/concrete-wall1/side/n/0001.png and /dev/null differ diff --git a/blender/concrete-wall1/top/n/0001.png b/blender/concrete-wall1/top/n/0001.png deleted file mode 100644 index 495a2e48..00000000 Binary files a/blender/concrete-wall1/top/n/0001.png and /dev/null differ diff --git a/blender/concrete-wall1/wall/n/0001.png b/blender/concrete-wall1/wall/n/0001.png deleted file mode 100644 index 5632b9d5..00000000 Binary files a/blender/concrete-wall1/wall/n/0001.png and /dev/null differ diff --git a/blender/concrete-wall1/wall/n/0002.png b/blender/concrete-wall1/wall/n/0002.png deleted file mode 100644 index e6320348..00000000 Binary files a/blender/concrete-wall1/wall/n/0002.png and /dev/null differ diff --git a/blender/concrete-wall1/wall/n/0003.png b/blender/concrete-wall1/wall/n/0003.png deleted file mode 100644 index 4da9d208..00000000 Binary files a/blender/concrete-wall1/wall/n/0003.png and /dev/null differ diff --git a/serialize/wall-atlas.cpp b/serialize/wall-atlas.cpp index cbac35d5..cc14499e 100644 --- a/serialize/wall-atlas.cpp +++ b/serialize/wall-atlas.cpp @@ -157,7 +157,8 @@ StringView direction_index_to_name(size_t i) std::vector read_all_frames(const json& jroot) { - fm_assert(jroot.contains("frames")); + if (!jroot.contains("frames")) + return {}; std::vector frames; const auto& jframes = jroot["frames"]; diff --git a/wall-tileset-tool/main.cpp b/wall-tileset-tool/main.cpp index 8fc907ae..9b07db75 100644 --- a/wall-tileset-tool/main.cpp +++ b/wall-tileset-tool/main.cpp @@ -35,7 +35,7 @@ const Direction& get_direction(const wall_atlas_def& atlas, size_t i) fm_assert(atlas.direction_mask[i]); auto idx = atlas.direction_map[i]; fm_assert(idx); - fm_assert(idx < atlas.direction_array.size()); + fm_assert(idx.val < atlas.direction_array.size()); return atlas.direction_array[idx.val]; } @@ -59,7 +59,12 @@ struct resolution : Vector2i { using Vector2i::Vector2i; }; Debug& operator<<(Debug& dbg, resolution res) { - return dbg << res.x() << colon('x') << res.y() << colon(','); + auto flags = dbg.flags(); + dbg << ""; + dbg.setFlags(flags | Debug::Flag::NoSpace); + dbg << res.x() << "x"_s << res.y(); + dbg.setFlags(flags); + return dbg; } constexpr inline int max_image_dimension = 4096; @@ -94,7 +99,6 @@ bool do_group(state st, size_t i, size_t j, Group& new_group) const auto& old_group = old_dir.group(j); //auto& new_dir = get_direction(new_atlas, (size_t)i); const auto dir_name = wall_atlas::directions[i].name; - std::vector frames; frames.reserve(64); const auto path = Path::join({ st.opts.input_dir, dir_name, group_name }); const auto expected_size = wall_atlas::expected_size(new_atlas.header.depth, (Group_)j); @@ -130,12 +134,14 @@ bool do_group(state st, size_t i, size_t j, Group& new_group) swap(mat, mat2); } - if (Vector2ui{(unsigned)mat.cols, (unsigned)mat.rows} != expected_size) [[unlikely]] + const auto size = Vector2ui{(unsigned)mat.cols, (unsigned)mat.rows}; + + if (size != expected_size) [[unlikely]] { - ERR << "fatal: wrong image size, expected size" + ERR << "fatal: wrong image size, expected" << resolution{expected_size} << colon(',') - << "actual size" << resolution{} - << "-- file" << filename; + << "actual" << resolution{size} + << "-- file" << filename; return false; } @@ -149,6 +155,8 @@ bool do_group(state st, size_t i, size_t j, Group& new_group) << "for" << quoted(filename); return false; } + + st.frames.push_back({.size = size, .mat = std::move(buf)}); } if (count == 0) -- cgit v1.2.3