diff options
Diffstat (limited to 'src')
| -rw-r--r-- | src/chunk-bbox.cpp | 6 | ||||
| -rw-r--r-- | src/chunk.hpp | 4 | ||||
| -rw-r--r-- | src/collision.hpp | 3 |
3 files changed, 6 insertions, 7 deletions
diff --git a/src/chunk-bbox.cpp b/src/chunk-bbox.cpp index 382e4abb..52be8635 100644 --- a/src/chunk-bbox.cpp +++ b/src/chunk-bbox.cpp @@ -117,7 +117,7 @@ void chunk::ensure_passability() noexcept 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] }; + loose_quadtree::BoundingBox<float> bbox ( vec[0], vec[1], vec[2], vec[3] ); return { lqt_from_collision_type(type)->QueryIntersectsRegion(bbox) }; } @@ -126,7 +126,7 @@ auto chunk::query_collisions(Vector2s position, Vector2us size, collision type) const_cast<chunk&>(*this).ensure_passability(); 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] }; + loose_quadtree::BoundingBox<float> bbox ( start[0], start[1], (Short)size[0], (Short)size[1] ); return { lqt_from_collision_type(type)->QueryIntersectsRegion(bbox) }; } @@ -135,7 +135,7 @@ auto chunk::query_collisions(local_coords p, Vector2us size, Vector2s offset, co const_cast<chunk&>(*this).ensure_passability(); 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] }; + loose_quadtree::BoundingBox<float> bbox ( start[0], start[1], (Short)size[0], (Short)size[1] ); return { lqt_from_collision_type(type)->QueryIntersectsRegion(bbox) }; } diff --git a/src/chunk.hpp b/src/chunk.hpp index 09af9bdb..2f257c38 100644 --- a/src/chunk.hpp +++ b/src/chunk.hpp @@ -90,8 +90,8 @@ struct chunk final using BB = loose_quadtree::BoundingBox<std::int16_t>; using BBE = loose_quadtree::TrivialBBExtractor<std::int16_t>; - using lqt = loose_quadtree::LooseQuadtree<std::int16_t, BB, BBE>; - using Query = collision_query<std::int16_t, BB, BBE>; + using lqt = loose_quadtree::LooseQuadtree<float, BB, BBE>; + using Query = collision_query<float, BB, BBE>; Query query_collisions(Vector2s position, Vector2us size, collision type) const; Query query_collisions(local_coords p, Vector2us size, Vector2s offset, collision type) const; diff --git a/src/collision.hpp b/src/collision.hpp index 086369fb..0568cc39 100644 --- a/src/collision.hpp +++ b/src/collision.hpp @@ -1,14 +1,13 @@ #pragma once #include "compat/LooseQuadtree-impl.h" #include "src/pass-mode.hpp" -#include <cinttypes> namespace floormat { template<typename Num, typename BB, typename BBE> struct collision_iterator final { - using Query = typename loose_quadtree::LooseQuadtree<std::int16_t, BB, BBE>::Query; + using Query = typename loose_quadtree::LooseQuadtree<Num, BB, BBE>::Query; explicit collision_iterator() noexcept : q{nullptr} {} explicit collision_iterator(Query* q) noexcept : q{q} {} |
