summaryrefslogtreecommitdiff
path: root/src/chunk.hpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/chunk.hpp')
-rw-r--r--src/chunk.hpp23
1 files changed, 11 insertions, 12 deletions
diff --git a/src/chunk.hpp b/src/chunk.hpp
index e2cfab5..c506ca0 100644
--- a/src/chunk.hpp
+++ b/src/chunk.hpp
@@ -38,31 +38,30 @@ class Chunk {
static std::vector<xe::Image*>& getTextures();
static Chunk* newChunk(int32_t gridX, int32_t gridZ, uint32_t world_seed);
+ static Chunk* getChunk(int32_t gridX, int32_t gridZ);
- Chunk(int32_t gridX, int32_t gridZ, uint32_t world_seed);
- ~Chunk() {};
-
- const int32_t gridX, gridZ;
- const uint32_t world_seed, chunk_seed;
-
- void createMesh();
- void createMeshAsync();
- std::shared_ptr<xe::Model> getMesh();
+ static void createMesh(Chunk* c);
+ static void createMeshAsync(Chunk* c);
+ xe::Model* getMesh();
uint8_t getBlock(int32_t x, int32_t y, int32_t z);
void setBlock(int32_t x, int32_t y, int32_t z, uint8_t block);
- static Chunk* getChunk(int32_t x, int32_t z);
+ const int32_t gridX, gridZ;
+ const uint32_t world_seed, chunk_seed;
private:
+ Chunk(int32_t gridX, int32_t gridZ, uint32_t world_seed);
+ ~Chunk();
+
void generate();
- void addVerticies(uint8_t side, int32_t x, int32_t y, int32_t z, uint8_t block);
+ static void addVerticies(Chunk* c, uint8_t side, int32_t x, int32_t y, int32_t z, uint8_t block);
bool reloadRequired{false};
bool working{false};
- std::shared_ptr<xe::Model> chunkMesh;
+ xe::Model* chunkMesh;
xe::Model::Data vertexData;
std::vector<uint8_t> cubes;
std::thread worker;