X-Git-Url: http://git.localhorst.tv/?a=blobdiff_plain;f=src%2Fworld.hpp;h=461da5623f5874c7fae25e9923359eaa29e4ead5;hb=82426ae2997d2b21703d2d5afb631a84736e975f;hp=8ef2b21b2b05ee7d7106a8af536e0a2bf36e85b4;hpb=cb959294a8271969ddfe411471d7f04e82c4788a;p=blank.git diff --git a/src/world.hpp b/src/world.hpp index 8ef2b21..461da56 100644 --- a/src/world.hpp +++ b/src/world.hpp @@ -19,7 +19,7 @@ class World { public: World(); - void Generate(const glm::tvec3 &from, const glm::tvec3 &to); + void Generate(const Chunk::Pos &from, const Chunk::Pos &to); bool Intersection( const Ray &, @@ -34,9 +34,13 @@ public: Entity &Player() { return player; } - Chunk &Next(const Chunk &, const glm::vec3 &dir); + Chunk *ChunkLoaded(const Chunk::Pos &); + Chunk *ChunkQueued(const Chunk::Pos &); + Chunk *ChunkAvailable(const Chunk::Pos &); + Chunk &Next(const Chunk &, const glm::tvec3 &dir); void Update(int dt); + void CheckChunkGeneration(); void Render(DirectionalLighting &); @@ -53,9 +57,11 @@ private: SimplexNoise colorNoise; Entity player; + Chunk::Pos player_chunk; std::list loaded; std::list to_generate; + std::list to_free; };