From 22f3bad59de14b62c6680d10aff2cea5ac5b11dc Mon Sep 17 00:00:00 2001 From: Mel Date: Tue, 9 Apr 2024 03:34:50 +0200 Subject: Traverse all chunk blocks in a unified (and cache-friendly) way --- src/Entities/Player.cpp | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) (limited to 'src/Entities/Player.cpp') 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 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; }); } -- cgit 1.4.1