]> git.localhorst.tv Git - blank.git/blobdiff - src/chunk.cpp
extracted configuration of various parts
[blank.git] / src / chunk.cpp
index 51694221b8a1c4acb359feb3a7b05ca5efe5024e..70a2563ae12c490379959bd37a35fc955db69996 100644 (file)
@@ -470,15 +470,15 @@ glm::mat4 Chunk::ToTransform(int idx) const {
 }
 
 
-ChunkLoader::ChunkLoader(const BlockTypeRegistry &reg, const Generator &gen)
+ChunkLoader::ChunkLoader(const Config &config, const BlockTypeRegistry &reg, const Generator &gen)
 : base(0, 0, 0)
 , reg(reg)
 , gen(gen)
 , loaded()
 , to_generate()
 , to_free()
-, load_dist(6)
-, unload_dist(8) {
+, load_dist(config.load_dist)
+, unload_dist(config.unload_dist) {
 
 }
 
@@ -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() {