summaryrefslogtreecommitdiffhomepage
path: root/src/chunk-bbox.cpp
diff options
context:
space:
mode:
authorStanislaw Halik <sthalik@misaki.pl>2022-12-08 12:00:45 +0100
committerStanislaw Halik <sthalik@misaki.pl>2022-12-08 12:00:45 +0100
commit9acf4738b15738cb2b9646481b75ba0c05a01e78 (patch)
treed8a8ce5007ea77f86d33136cdfa014e45d31d72b /src/chunk-bbox.cpp
parenta083f5c2124a6a907727b35a5c43d8175d396d73 (diff)
draw, editor: visualize bounding boxes
Diffstat (limited to 'src/chunk-bbox.cpp')
-rw-r--r--src/chunk-bbox.cpp14
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));
}