diff options
Diffstat (limited to 'src')
-rw-r--r-- | src/object.cpp | 5 | ||||
-rw-r--r-- | src/world.hpp | 2 |
2 files changed, 3 insertions, 4 deletions
diff --git a/src/object.cpp b/src/object.cpp index d0c4da57..b7439d31 100644 --- a/src/object.cpp +++ b/src/object.cpp @@ -173,11 +173,10 @@ bool object::can_move_to(Vector2i delta, global_coords coord2, Vector2b offset, const auto center = Vector2(coord_.local())*TILE_SIZE2 + Vector2(offset_) + Vector2(bbox_offset), half_bbox = Vector2(bbox_size)*.5f, min = center - half_bbox, max = min + Vector2(bbox_size); - auto ch = chunk_coords_{coord_.chunk(), coord_.z()}; - if (!do_search<false>(&c_, ch, id, min, max)) + if (!do_search<false>(&c_, coord_, id, min, max)) return false; for (const auto& off : world::neighbor_offsets) - if (!do_search(&c_, ch, id, min, max, off)) + if (!do_search(&c_, coord_, id, min, max, off)) return false; return true; } diff --git a/src/world.hpp b/src/world.hpp index 8f82efab..288d69ca 100644 --- a/src/world.hpp +++ b/src/world.hpp @@ -86,7 +86,7 @@ public: } std::shared_ptr<T> make_object(object_id id, global_coords pos, Xs&&... xs) { - auto ret = std::shared_ptr<T>(new T{id, operator[](chunk_coords_{pos.chunk(), pos.z()}), Utility::forward<Xs>(xs)...}); + auto ret = std::shared_ptr<T>(new T{id, operator[](chunk_coords_{pos}), Utility::forward<Xs>(xs)...}); do_make_object(static_pointer_cast<object>(ret), pos, sorted); return ret; } |