diff options
| author | Stanislaw Halik <sthalik@misaki.pl> | 2022-12-08 12:00:45 +0100 |
|---|---|---|
| committer | Stanislaw Halik <sthalik@misaki.pl> | 2022-12-08 12:00:45 +0100 |
| commit | 9acf4738b15738cb2b9646481b75ba0c05a01e78 (patch) | |
| tree | d8a8ce5007ea77f86d33136cdfa014e45d31d72b /src/chunk-bbox.cpp | |
| parent | a083f5c2124a6a907727b35a5c43d8175d396d73 (diff) | |
draw, editor: visualize bounding boxes
Diffstat (limited to 'src/chunk-bbox.cpp')
| -rw-r--r-- | src/chunk-bbox.cpp | 14 |
1 files changed, 7 insertions, 7 deletions
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<chunk&>(*this).ensure_passability(); loose_quadtree::BoundingBox<std::int16_t> 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<std::int16_t> 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<std::int16_t> 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)); } |
