]> git.localhorst.tv Git - blank.git/blobdiff - src/world/ChunkStore.hpp
try to cleanly destruct world
[blank.git] / src / world / ChunkStore.hpp
index 68434bbd84952489a98fa4dd9b2490ad7606cdd9..12debef87b8f4997460959c40d5b71f668f91d22 100644 (file)
@@ -20,13 +20,15 @@ public:
        ChunkStore &operator =(const ChunkStore &) = delete;
 
 public:
-       ChunkIndex &MakeIndex(const Chunk::Pos &base, int extent);
+       ChunkIndex &MakeIndex(const ExactLocation::Coarse &base, int extent);
        void UnregisterIndex(ChunkIndex &);
 
+       ChunkIndex *ClosestIndex(const ExactLocation::Coarse &pos);
+
        /// returns nullptr if given position is not loaded
-       Chunk *Get(const Chunk::Pos &);
+       Chunk *Get(const ExactLocation::Coarse &);
        /// returns nullptr if given position is not indexed
-       Chunk *Allocate(const Chunk::Pos &);
+       Chunk *Allocate(const ExactLocation::Coarse &);
 
        std::list<Chunk>::iterator begin() noexcept { return loaded.begin(); }
        std::list<Chunk>::iterator end() noexcept { return loaded.end(); }
@@ -42,7 +44,7 @@ public:
 
        /// get coordinates of a missing chunk
        /// this will return garbage if none are actually missing
-       Chunk::Pos NextMissing() noexcept;
+       ExactLocation::Coarse NextMissing() noexcept;
 
        void Clean();