]> git.localhorst.tv Git - blank.git/blobdiff - src/world/Generator.cpp
unified location handling
[blank.git] / src / world / Generator.cpp
index 88ac1eb674b0c24b5449f206694d0f70043145c4..466139b8943a4fadc1187736e6b29509d462642b 100644 (file)
@@ -50,13 +50,13 @@ void Generator::LoadTypes(const BlockTypeRegistry &reg) {
 }
 
 void Generator::operator ()(Chunk &chunk) const noexcept {
-       Chunk::Pos pos(chunk.Position());
-       glm::vec3 coords(pos * Chunk::Extent());
-       for (int z = 0; z < Chunk::depth; ++z) {
-               for (int y = 0; y < Chunk::height; ++y) {
-                       for (int x = 0; x < Chunk::width; ++x) {
-                               Block::Pos block_pos(x, y, z);
-                               chunk.SetBlock(block_pos, Generate(coords + block_pos));
+       ExactLocation::Coarse pos(chunk.Position());
+       ExactLocation::Fine coords(pos * ExactLocation::Extent());
+       for (int z = 0; z < Chunk::side; ++z) {
+               for (int y = 0; y < Chunk::side; ++y) {
+                       for (int x = 0; x < Chunk::side; ++x) {
+                               ExactLocation::Fine block_pos(x, y, z);
+                               chunk.SetBlock(RoughLocation::Fine(x, y, z), Generate(coords + ExactLocation::Fine(x, y, z)));
                        }
                }
        }