diff options
Diffstat (limited to 'src/World/Chunk.cpp')
| -rw-r--r-- | src/World/Chunk.cpp | 10 |
1 files changed, 9 insertions, 1 deletions
diff --git a/src/World/Chunk.cpp b/src/World/Chunk.cpp index b4a9ece..eeaefa0 100644 --- a/src/World/Chunk.cpp +++ b/src/World/Chunk.cpp @@ -39,10 +39,18 @@ Bool Chunk::is_valid_position(Position::BlockLocal pos) { return pos.x() < Width && pos.y() < Height && pos.z() < Width; } -U64 Chunk::pos(U32 x, U32 y, U32 z) { +U64 Chunk::pos(U32 const x, U32 const y, U32 const z) { return x + Width * y + Width * Height * z; } +Position::BlockLocal Chunk::pos(U64 const i) { + return { + i % Width, + i / Width % Height, + i / (Width * Height) + }; +} + AABB Chunk::block_bounds(Position::BlockLocal pos) { return { {pos.x(), pos.y(), pos.z()}, |
