From 9acf4738b15738cb2b9646481b75ba0c05a01e78 Mon Sep 17 00:00:00 2001 From: Stanislaw Halik Date: Thu, 8 Dec 2022 12:00:45 +0100 Subject: draw, editor: visualize bounding boxes --- src/chunk-bbox.cpp | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) (limited to 'src/chunk-bbox.cpp') diff --git a/src/chunk-bbox.cpp b/src/chunk-bbox.cpp index 8d99515b..b951da10 100644 --- a/src/chunk-bbox.cpp +++ b/src/chunk-bbox.cpp @@ -118,7 +118,7 @@ auto chunk::query_collisions(Vector4s vec, collision type) const -> Query { const_cast(*this).ensure_passability(); loose_quadtree::BoundingBox bbox { vec[0], vec[1], vec[2], vec[3] }; - return { lqt_from_collision_type(type).QueryIntersectsRegion(bbox) }; + return { lqt_from_collision_type(type)->QueryIntersectsRegion(bbox) }; } auto chunk::query_collisions(Vector2s position, Vector2us size, collision type) const -> Query @@ -127,7 +127,7 @@ auto chunk::query_collisions(Vector2s position, Vector2us size, collision type) constexpr auto half = sTILE_SIZE2/2; const auto start = position - half; loose_quadtree::BoundingBox bbox {start[0], start[1], (Short)size[0], (Short)size[1] }; - return { lqt_from_collision_type(type).QueryIntersectsRegion(bbox) }; + return { lqt_from_collision_type(type)->QueryIntersectsRegion(bbox) }; } auto chunk::query_collisions(local_coords p, Vector2us size, Vector2s offset, collision type) const -> Query @@ -136,19 +136,19 @@ auto chunk::query_collisions(local_coords p, Vector2us size, Vector2s offset, co const auto pos = Vector2s(p.x, p.y) * sTILE_SIZE2 + offset; const auto start = pos - Vector2s(size/2); loose_quadtree::BoundingBox bbox { start[0], start[1], (Short)size[0], (Short)size[1] }; - return { lqt_from_collision_type(type).QueryIntersectsRegion(bbox) }; + return { lqt_from_collision_type(type)->QueryIntersectsRegion(bbox) }; } -auto chunk::lqt_from_collision_type(collision type) const noexcept -> lqt& +auto chunk::lqt_from_collision_type(collision type) const noexcept -> lqt* { switch (type) { case collision::move: - return *_lqt_move; + return _lqt_move.get(); case collision::shoot: - return *_lqt_shoot; + return _lqt_shoot.get(); case collision::view: - return *_lqt_view; + return _lqt_view.get(); } fm_abort("wrong collision type '%hhu'", std::uint8_t(type)); } -- cgit v1.2.3