diff options
| author | Mel <einebeere@gmail.com> | 2023-08-06 01:54:27 +0200 |
|---|---|---|
| committer | Mel <einebeere@gmail.com> | 2023-08-06 01:54:27 +0200 |
| commit | e6f5f9e03f673db796f1babb308609ca2576db2f (patch) | |
| tree | fbc7d9451ec943a107f0ab54b3de7a7bd25e656d /src/World/World.cpp | |
| parent | a627fb7038c94de9be9709ea88dcd1dddc95c5a3 (diff) | |
| download | meowcraft-e6f5f9e03f673db796f1babb308609ca2576db2f.tar.zst meowcraft-e6f5f9e03f673db796f1babb308609ca2576db2f.zip | |
Improve MC::Position and remove some redundant code
Diffstat (limited to 'src/World/World.cpp')
| -rw-r--r-- | src/World/World.cpp | 7 |
1 files changed, 3 insertions, 4 deletions
diff --git a/src/World/World.cpp b/src/World/World.cpp index 3ff0cf4..089c498 100644 --- a/src/World/World.cpp +++ b/src/World/World.cpp @@ -42,8 +42,7 @@ std::vector<ChunkRegistry::Data*> World::get_visible_chunks(Position::World posi } std::vector<ChunkIndex> World::get_visible_chunk_indices(const Position::World position) const { - I32 center_x = std::round(position.x() / Chunk::Width); - I32 center_y = std::round(position.z() / Chunk::Width); + ChunkIndex center = ChunkIndex::from_position(position.round_to_block()); std::vector<ChunkIndex> indices{}; indices.reserve(m_view_distance_radius * m_view_distance_radius * 4); @@ -52,8 +51,8 @@ std::vector<ChunkIndex> World::get_visible_chunk_indices(const Position::World p I32 height = std::round(std::sqrt(radius * radius - x * x) + 0.5); for (I32 y = -height; y <= height; y++) { // Needed so that this function and is_chunk_in_radius forcibly agree. - if (!is_chunk_in_radius(position, {x + center_x, y + center_y})) continue; - indices.emplace_back(x + center_x, y + center_y); + if (!is_chunk_in_radius(position, {x + center.x, y + center.y})) continue; + indices.emplace_back(x + center.x, y + center.y); } } |
