summary refs log tree commit diff
path: root/src/Entities/Player.cpp
diff options
context:
space:
mode:
authorMel <einebeere@gmail.com>2024-04-09 03:34:50 +0200
committerMel <einebeere@gmail.com>2024-04-09 03:34:50 +0200
commit22f3bad59de14b62c6680d10aff2cea5ac5b11dc (patch)
tree038add33df7ead1759bdd2ca9e2087fd55b1512f /src/Entities/Player.cpp
parent2ab9e650f814d47e78fc95500605b4561922893d (diff)
downloadmeowcraft-22f3bad59de14b62c6680d10aff2cea5ac5b11dc.tar.zst
meowcraft-22f3bad59de14b62c6680d10aff2cea5ac5b11dc.zip
Traverse all chunk blocks in a unified (and cache-friendly) way
Diffstat (limited to 'src/Entities/Player.cpp')
-rw-r--r--src/Entities/Player.cpp3
1 files changed, 2 insertions, 1 deletions
diff --git a/src/Entities/Player.cpp b/src/Entities/Player.cpp
index 83c3f5e..8dc94a1 100644
--- a/src/Entities/Player.cpp
+++ b/src/Entities/Player.cpp
@@ -282,9 +282,10 @@ std::vector<AABB> Player::terrain_collision_domain(
         if (!chunk.chunk.has_value()) continue;
         auto chunk_position = chunk.chunk.value().position();
         chunk.chunk->for_each([&](auto p, auto b) {
-            if (!b.type.is_solid()) return;
+            if (!b.type.is_solid()) return Iteration::Continue;
             auto block_bounds = World::Chunk::block_bounds(p).offset(chunk_position);
             if (domain_box.collides(block_bounds)) colliding_blocks.push_back(block_bounds);
+            return Iteration::Continue;
         });
     }