From 16f6ec061a2c6b1122974fe149b7645d8ad46e2b Mon Sep 17 00:00:00 2001 From: Stanislaw Halik Date: Sat, 24 Feb 2024 15:57:43 +0100 Subject: move walkable region calculation to class chunk --- src/object.cpp | 4 ++++ 1 file changed, 4 insertions(+) (limited to 'src/object.cpp') diff --git a/src/object.cpp b/src/object.cpp index 52244121..34659aa5 100644 --- a/src/object.cpp +++ b/src/object.cpp @@ -72,6 +72,7 @@ object::~object() noexcept if (chunk::bbox bb; c->_bbox_for_scenery(*this, bb)) c->_remove_bbox(bb); c->_world->do_kill_object(id); + c->mark_region_modified(); const_cast(id) = 0; } @@ -244,6 +245,7 @@ void object::move_to(size_t& i, Vector2i delta, rotation new_r) if (coord_.chunk() == coord.chunk()) { c->_replace_bbox(bb0, bb1, b0, b1); + c->mark_region_modified(); const_cast(coord) = coord_; set_bbox_(offset_, bb_offset, bb_size, pass); const_cast(r) = new_r; @@ -255,6 +257,7 @@ void object::move_to(size_t& i, Vector2i delta, rotation new_r) c2.mark_scenery_modified(); c2._add_bbox(bb1); c->remove_object(i); + c->mark_region_modified(); auto& es = c2._objects; auto it = std::lower_bound(es.cbegin(), es.cend(), e_, object_id_lessp); const_cast(coord) = coord_; @@ -306,6 +309,7 @@ void object::set_bbox(Vector2b offset_, Vector2b bb_offset_, Vector2ub bb_size_, set_bbox_(offset_, bb_offset_, bb_size_, pass); const bool b = c->_bbox_for_scenery(*this, bb); c->_replace_bbox(bb0, bb, b0, b); + c->mark_region_modified(); } bool object::can_activate(size_t) const { return false; } -- cgit v1.2.3