diff options
| author | Stanislaw Halik <sthalik@misaki.pl> | 2024-04-09 14:06:57 +0200 |
|---|---|---|
| committer | Stanislaw Halik <sthalik@misaki.pl> | 2024-04-09 14:06:57 +0200 |
| commit | 3e6cdf0a84cc8db60ad77b6582b374cf8085d470 (patch) | |
| tree | 8baa7cd4967c5f922dace0a0f45daa3b80970e08 /src | |
| parent | ffd47310758cfce6ee7514a73973de0d3fbf0772 (diff) | |
wa
Diffstat (limited to 'src')
| -rw-r--r-- | src/world.cpp | 2 | ||||
| -rw-r--r-- | src/world.hpp | 4 |
2 files changed, 4 insertions, 2 deletions
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<object>& 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<global_coords&>(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<Xs&&>()...}; std::is_base_of_v<object, T>; } - std::shared_ptr<T> make_object(object_id id, global_coords pos, Xs&&... xs) + std::shared_ptr<T> make_object(object_id id, global_coords pos, Xs&&... xs) // todo! replace 2nd arg with chunk& { auto ret = std::shared_ptr<T>(new T{id, operator[](pos.chunk3()), forward<Xs>(xs)...}); do_make_object(std::static_pointer_cast<object>(ret), pos, sorted); return ret; } - void do_make_object(const std::shared_ptr<object>& e, global_coords pos, bool sorted); + void do_make_object(const std::shared_ptr<object>& e, global_coords pos, bool sorted); // todo! replace 2nd arg with chunk& #if 0 template<typename T, typename... Xs> std::shared_ptr<object> make_unconnected_object(Xs&&... xs) |
