diff options
Diffstat (limited to 'src/World/ChunkIndex.hpp')
| -rw-r--r-- | src/World/ChunkIndex.hpp | 8 |
1 files changed, 7 insertions, 1 deletions
diff --git a/src/World/ChunkIndex.hpp b/src/World/ChunkIndex.hpp index ed3347b..70de99f 100644 --- a/src/World/ChunkIndex.hpp +++ b/src/World/ChunkIndex.hpp @@ -16,11 +16,17 @@ struct ChunkIndex { return {(x + 0.5f) * Width, Height / 2.0f, (y + 0.5f) * Width}; } - Position::BlockWorld world(Position::BlockLocal local) const { + Position::BlockWorld local_to_world_position(Position::BlockLocal local) const { using namespace ChunkDimensions; return {x * Width + local.x(), local.y(), y * Width + local.z()}; } + static ChunkIndex from_position(Position::BlockWorld pos) { + I32 chunk_x = std::round(pos.x() / ChunkDimensions::Width); + I32 chunk_y = std::round(pos.z() / ChunkDimensions::Width); + return {chunk_x, chunk_y}; + } + I32 x, y; }; |
