diff options
| author | Mel <einebeere@gmail.com> | 2024-04-09 03:34:50 +0200 |
|---|---|---|
| committer | Mel <einebeere@gmail.com> | 2024-04-09 03:34:50 +0200 |
| commit | 22f3bad59de14b62c6680d10aff2cea5ac5b11dc (patch) | |
| tree | 038add33df7ead1759bdd2ca9e2087fd55b1512f /src/Entities/Player.cpp | |
| parent | 2ab9e650f814d47e78fc95500605b4561922893d (diff) | |
| download | meowcraft-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.cpp | 3 |
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; }); } |
