diff options
Diffstat (limited to 'src/chunk.hpp')
| -rw-r--r-- | src/chunk.hpp | 11 |
1 files changed, 8 insertions, 3 deletions
diff --git a/src/chunk.hpp b/src/chunk.hpp index 3ec02130..a2fdf53f 100644 --- a/src/chunk.hpp +++ b/src/chunk.hpp @@ -56,10 +56,13 @@ struct chunk final void mark_ground_modified() noexcept; void mark_walls_modified() noexcept; - void mark_scenery_modified() noexcept; - bool is_passability_modified() const noexcept; + void mark_scenery_modified(bool collision_too = true) noexcept; + void mark_passability_modified() noexcept; void mark_modified() noexcept; + bool is_passability_modified() const noexcept; + bool is_scenery_modified() const noexcept; + struct ground_mesh_tuple final { GL::Mesh& mesh; const ArrayView<const std::uint8_t> ids; @@ -94,7 +97,9 @@ struct chunk final const RTree* rtree() const noexcept; RTree* rtree() noexcept; - template<typename F> void with_scenery_bbox_update(std::size_t idx, F&& fun); + template<typename F> + requires requires(F fun) { fun(); } + void with_scenery_update(std::size_t idx, F&& fun); private: std::array<std::shared_ptr<tile_atlas>, TILE_COUNT> _ground_atlases; |
