X-Git-Url: http://git.localhorst.tv/?a=blobdiff_plain;f=src%2Fworld.hpp;h=4823c47b0c8c0ec804f62f10c5d83f4e5c2dbd04;hb=e70967c971f77a4ac0f5c074e6eb94bdd0e2b7ab;hp=4c7a59f4f607fae03c9ef297f5a4657466199d55;hpb=1a7bbd64b1fef1f4e2f9303f820d6f3ce76cebf1;p=blank.git diff --git a/src/world.hpp b/src/world.hpp index 4c7a59f..4823c47 100644 --- a/src/world.hpp +++ b/src/world.hpp @@ -4,7 +4,7 @@ #include "block.hpp" #include "chunk.hpp" #include "entity.hpp" -#include "noise.hpp" +#include "generator.hpp" #include "shader.hpp" #include "shape.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,9 @@ public: Entity &Player() { return player; } - Chunk *ChunkLoaded(const glm::tvec3 &); - Chunk *ChunkQueued(const glm::tvec3 &); - Chunk *ChunkAvailable(const glm::tvec3 &); + 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); @@ -44,20 +44,16 @@ public: void Render(DirectionalLighting &); -private: - void Generate(Chunk &); - private: BlockTypeRegistry blockType; CuboidShape blockShape; StairShape stairShape; CuboidShape slabShape; - SimplexNoise blockNoise; - SimplexNoise colorNoise; + Generator generate; Entity player; - glm::tvec3 player_chunk; + Chunk::Pos player_chunk; std::list loaded; std::list to_generate;