summary refs log tree commit diff
path: root/src/World/ChunkIndex.hpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/World/ChunkIndex.hpp')
-rw-r--r--src/World/ChunkIndex.hpp8
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;
 };