summaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
-rw-r--r--editor/camera.cpp6
-rw-r--r--editor/draw.cpp8
-rw-r--r--editor/tests/raycast-test.cpp4
-rw-r--r--src/chunk-collision.cpp2
-rw-r--r--src/chunk-region.cpp4
-rw-r--r--src/collision.hpp6
-rw-r--r--src/object.cpp2
-rw-r--r--src/raycast.cpp6
-rw-r--r--src/search.cpp2
9 files changed, 20 insertions, 20 deletions
diff --git a/editor/camera.cpp b/editor/camera.cpp
index 89147946..df5b2cb5 100644
--- a/editor/camera.cpp
+++ b/editor/camera.cpp
@@ -102,15 +102,15 @@ object_id app::get_object_colliding_with_cursor()
object_id ret = 0;
rtree->Search(t0.data(), t1.data(), [&](uint64_t data, const rect_type& rect) {
[[maybe_unused]] auto x = std::bit_cast<collision_data>(data);
- if (x.tag == (uint64_t)collision_type::geometry)
+ if (x.type == (uint64_t)collision_type::geometry)
return true;
Vector2 min(rect.m_min[0], rect.m_min[1]), max(rect.m_max[0], rect.m_max[1]);
if (t0 >= min && t0 <= max)
{
- if (auto e_ = world.find_object(x.data);
+ if (auto e_ = world.find_object(x.id);
e_ && Vector2ui(e_->bbox_size).product() != 0)
{
- ret = x.data;
+ ret = x.id;
return false;
}
}
diff --git a/editor/draw.cpp b/editor/draw.cpp
index f5a906d2..c88984af 100644
--- a/editor/draw.cpp
+++ b/editor/draw.cpp
@@ -139,9 +139,9 @@ void app::draw_collision_boxes()
if (x.tag == (uint64_t)collision_type::geometry)
return true;
#endif
- if (x.tag == (uint64_t)collision_type::geometry)
+ if (x.type == (uint64_t)collision_type::geometry)
if (x.pass == (uint64_t)pass_mode::pass)
- if (x.data < TILE_COUNT*2+1)
+ if (x.id < TILE_COUNT*2+1)
return true;
Vector2 start(rect.m_min[0], rect.m_min[1]), end(rect.m_max[0], rect.m_max[1]);
auto size = (end - start);
@@ -186,9 +186,9 @@ void app::draw_collision_boxes()
if (x.tag == (uint64_t)collision_type::geometry)
return true;
#endif
- if (x.tag == (uint64_t)collision_type::geometry)
+ if (x.type == (uint64_t)collision_type::geometry)
if (x.pass == (uint64_t)pass_mode::pass)
- if (x.data < TILE_COUNT*2+1)
+ if (x.id < TILE_COUNT*2+1)
return true;
Vector2 start(rect.m_min[0], rect.m_min[1]), end(rect.m_max[0], rect.m_max[1]);
auto size = end - start;
diff --git a/editor/tests/raycast-test.cpp b/editor/tests/raycast-test.cpp
index 07b44eaf..a8902145 100644
--- a/editor/tests/raycast-test.cpp
+++ b/editor/tests/raycast-test.cpp
@@ -181,7 +181,7 @@ struct raycast_test final : base_test
{
const char* type;
- switch ((collision_type)result.collider.tag)
+ switch ((collision_type)result.collider.type)
{
using enum collision_type;
default: type = "unknown?!"; break;
@@ -199,7 +199,7 @@ struct raycast_test final : base_test
do_column("collider");
std::snprintf(buf, array_size(buf), "%s @ %" PRIu64,
- type, uint64_t{result.collider.data});
+ type, uint64_t{result.collider.id});
{ auto b = push_style_color(ImGuiCol_Text, 0xffff00ff_rgbaf);
text(buf);
}
diff --git a/src/chunk-collision.cpp b/src/chunk-collision.cpp
index c7f38028..45ae425f 100644
--- a/src/chunk-collision.cpp
+++ b/src/chunk-collision.cpp
@@ -72,7 +72,7 @@ bool find_hole_in_bbox(CutResult<float>::rect& hole, chunk::RTree& rtree, Vector
bool ret = true;
rtree.Search(min.data(), max.data(), [&](uint64_t data, const chunk::RTree::Rect& r) {
auto x = std::bit_cast<collision_data>(data);
- if (x.pass == (uint64_t)pass_mode::pass && x.tag == (uint64_t)collision_type::none)
+ if (x.pass == (uint64_t)pass_mode::pass && x.type == (uint64_t)collision_type::none)
{
CutResult<float>::rect holeʹ {
.min = { r.m_min[0], r.m_min[1] },
diff --git a/src/chunk-region.cpp b/src/chunk-region.cpp
index 3c5a8746..ed978c0f 100644
--- a/src/chunk-region.cpp
+++ b/src/chunk-region.cpp
@@ -119,10 +119,10 @@ auto default_region_predicate(chunk& c) noexcept
return [&c](collision_data data) {
auto x = std::bit_cast<collision_data>(data);
// XXX 'scenery' is used for all object types
- if (x.tag == (uint64_t)collision_type::scenery)
+ if (x.type == (uint64_t)collision_type::scenery)
{
auto& w = c.world();
- auto obj = w.find_object(x.data);
+ auto obj = w.find_object(x.id);
if (obj->type() == object_type::critter)
return path_search_continue::pass;
}
diff --git a/src/collision.hpp b/src/collision.hpp
index 914d6e1a..eef51d88 100644
--- a/src/collision.hpp
+++ b/src/collision.hpp
@@ -9,9 +9,9 @@ enum class collision_type : unsigned char {
constexpr inline size_t collision_data_BITS = 60;
struct collision_data final {
- uint64_t tag : 2;
- uint64_t pass : 2;
- uint64_t data : collision_data_BITS;
+ uint64_t type : 2;
+ uint64_t pass : 2;
+ uint64_t id : collision_data_BITS;
bool operator==(const collision_data&) const noexcept;
};
diff --git a/src/object.cpp b/src/object.cpp
index 449a0fcb..1679f5b7 100644
--- a/src/object.cpp
+++ b/src/object.cpp
@@ -173,7 +173,7 @@ static bool do_search(class chunk* c, chunk_coords_ coord,
bool ret = true;
c->rtree()->Search(min.data(), max.data(), [&](object_id data, const auto& r) {
auto x = std::bit_cast<collision_data>(data);
- if (x.data != id && x.pass != (uint64_t)pass_mode::pass &&
+ if (x.id != id && x.pass != (uint64_t)pass_mode::pass &&
rect_intersects(min, max, {r.m_min[0], r.m_min[1]}, {r.m_max[0], r.m_max[1]}))
return ret = false;
else
diff --git a/src/raycast.cpp b/src/raycast.cpp
index 06cc416e..cb939758 100644
--- a/src/raycast.cpp
+++ b/src/raycast.cpp
@@ -168,9 +168,9 @@ raycast_result_s do_raycasting(std::conditional_t<EnableDiagnostics, raycast_dia
.to = to,
.collision = {},
.collider = {
- .tag = (uint64_t)collision_type::none,
+ .type = (uint64_t)collision_type::none,
.pass = (uint64_t)pass_mode::pass,
- .data = ((uint64_t)1 << collision_data_BITS)-1,
+ .id = ((uint64_t)1 << collision_data_BITS)-1,
},
.has_result = true,
.success = false,
@@ -234,7 +234,7 @@ raycast_result_s do_raycasting(std::conditional_t<EnableDiagnostics, raycast_dia
const auto do_check_collider = [&](uint64_t data, const Rect& r)
{
auto x = std::bit_cast<collision_data>(data);
- if (x.data == self || x.pass == (uint64_t)pass_mode::pass)
+ if (x.id == self || x.pass == (uint64_t)pass_mode::pass)
return;
//Debug{} << "item" << x.data << Vector2(r.m_min[0], r.m_min[1]) << Vector2(r.m_max[0], r.m_max[1]);
auto ret = ray_aabb_intersection(origin, dir_inv_norm,
diff --git a/src/search.cpp b/src/search.cpp
index 220e3869..424b1743 100644
--- a/src/search.cpp
+++ b/src/search.cpp
@@ -45,7 +45,7 @@ bool path_search::is_passable_1(chunk& c, Vector2 min, Vector2 max, object_id ow
rt.Search(min.data(), max.data(), [&](uint64_t data, const auto& r)
{
auto x = std::bit_cast<collision_data>(data);
- if (x.data != own_id && x.pass != (uint64_t)pass_mode::pass)
+ if (x.id != own_id && x.pass != (uint64_t)pass_mode::pass)
{
if (rect_intersects(min, max, {r.m_min[0], r.m_min[1]}, {r.m_max[0], r.m_max[1]}))
if (p(x) != path_search_continue::pass)