From 3e6cdf0a84cc8db60ad77b6582b374cf8085d470 Mon Sep 17 00:00:00 2001 From: Stanislaw Halik Date: Tue, 9 Apr 2024 14:06:57 +0200 Subject: wa --- src/world.cpp | 2 ++ src/world.hpp | 4 ++-- 2 files changed, 4 insertions(+), 2 deletions(-) (limited to 'src') diff --git a/src/world.cpp b/src/world.cpp index 7e9ec86a..2c8db38b 100644 --- a/src/world.cpp +++ b/src/world.cpp @@ -155,6 +155,8 @@ void world::collect(bool force) void world::do_make_object(const std::shared_ptr& e, global_coords pos, bool sorted) { fm_assert(e->id > 0); + fm_debug_assert(e->c); + fm_debug_assert(pos.chunk3() == e->c->coord()); fm_debug_assert(_unique_id && e->c->world()._unique_id == _unique_id); fm_assert(e->type() != object_type::none); const_cast(e->coord) = pos; diff --git a/src/world.hpp b/src/world.hpp index 7f2eab48..0a15cb03 100644 --- a/src/world.hpp +++ b/src/world.hpp @@ -80,13 +80,13 @@ public: T{object_id(), c, std::declval()...}; std::is_base_of_v; } - std::shared_ptr make_object(object_id id, global_coords pos, Xs&&... xs) + std::shared_ptr make_object(object_id id, global_coords pos, Xs&&... xs) // todo! replace 2nd arg with chunk& { auto ret = std::shared_ptr(new T{id, operator[](pos.chunk3()), forward(xs)...}); do_make_object(std::static_pointer_cast(ret), pos, sorted); return ret; } - void do_make_object(const std::shared_ptr& e, global_coords pos, bool sorted); + void do_make_object(const std::shared_ptr& e, global_coords pos, bool sorted); // todo! replace 2nd arg with chunk& #if 0 template std::shared_ptr make_unconnected_object(Xs&&... xs) -- cgit v1.2.3