]> git.localhorst.tv Git - blank.git/commitdiff
use same load distance for initial and movement
authorDaniel Karbach <daniel.karbach@localhorst.tv>
Thu, 19 Mar 2015 11:08:04 +0000 (12:08 +0100)
committerDaniel Karbach <daniel.karbach@localhorst.tv>
Thu, 19 Mar 2015 11:08:04 +0000 (12:08 +0100)
src/chunk.cpp
src/chunk.hpp
src/world.cpp

index 51694221b8a1c4acb359feb3a7b05ca5efe5024e..66b049f00366e1ea4a91cb2f0f69d7b200c3d48b 100644 (file)
@@ -618,8 +618,12 @@ void ChunkLoader::Rebase(const Chunk::Pos &new_base) {
                }
        }
        // add missing new chunks
+       GenerateSurrounding(base);
+}
+
+void ChunkLoader::GenerateSurrounding(const Chunk::Pos &pos) {
        const Chunk::Pos offset(load_dist, load_dist, load_dist);
-       Generate(base - offset, base + offset);
+       Generate(pos - offset, pos + offset);
 }
 
 void ChunkLoader::Update() {
index c7bcd2ffe7313e5c2c1542f2b13b4962c5f8fd10..d8408ec9062e34bbb4f5344c4cb9df79eef0dd5b 100644 (file)
@@ -161,6 +161,7 @@ public:
        ChunkLoader(const BlockTypeRegistry &, const Generator &);
 
        void Generate(const Chunk::Pos &from, const Chunk::Pos &to);
+       void GenerateSurrounding(const Chunk::Pos &);
 
        std::list<Chunk> &Loaded() { return loaded; }
 
index 40dd6bdfc578ffaa22af252f3b242f7978ea8f87..30e92297d7402d4b040f09eebc9053b872d1052f 100644 (file)
@@ -109,7 +109,7 @@ World::World(unsigned int seed)
        player = &AddEntity();
        player->Position({ 4.0f, 4.0f, 4.0f });
 
-       chunks.Generate({ -4, -4, -4 }, { 5, 5, 5});
+       chunks.GenerateSurrounding(player->ChunkCoords());
 }