diff options
author | Mattes D <github@xoft.cz> | 2014-12-10 22:35:16 +0100 |
---|---|---|
committer | Mattes D <github@xoft.cz> | 2014-12-10 22:35:16 +0100 |
commit | fcd3d1bfedbfbe535f406e3db933486bad913ab4 (patch) | |
tree | 24ad1b9b30473e686ded1e2a89a02ce04fb2cc91 /src/ChunkMap.h | |
parent | Lighting thread: skip chunks that are already lit. (diff) | |
download | cuberite-fcd3d1bfedbfbe535f406e3db933486bad913ab4.tar cuberite-fcd3d1bfedbfbe535f406e3db933486bad913ab4.tar.gz cuberite-fcd3d1bfedbfbe535f406e3db933486bad913ab4.tar.bz2 cuberite-fcd3d1bfedbfbe535f406e3db933486bad913ab4.tar.lz cuberite-fcd3d1bfedbfbe535f406e3db933486bad913ab4.tar.xz cuberite-fcd3d1bfedbfbe535f406e3db933486bad913ab4.tar.zst cuberite-fcd3d1bfedbfbe535f406e3db933486bad913ab4.zip |
Diffstat (limited to '')
-rw-r--r-- | src/ChunkMap.h | 14 |
1 files changed, 14 insertions, 0 deletions
diff --git a/src/ChunkMap.h b/src/ChunkMap.h index 51be5cb3d..6a858b06d 100644 --- a/src/ChunkMap.h +++ b/src/ChunkMap.h @@ -280,6 +280,20 @@ public: /** Touches the chunk, causing it to be loaded or generated */ void TouchChunk(int a_ChunkX, int a_ChunkZ); + + /** Queues the chunk for preparing - making sure that it's generated and lit. + The specified chunk is queued to be loaded or generated, and lit if needed. + The specified callback is called after the chunk has been prepared. If there's no preparation to do, only the callback is called. + It is legal to call without the callback. */ + void PrepareChunk(int a_ChunkX, int a_ChunkZ, cChunkCoordCallback * a_CallAfter = nullptr); // Lua-accessible + + /** Queues the chunk for generating. + First attempts to load the chunk from the storage. If that fails, queues the chunk for generating. + The specified callback is called after the chunk has been loaded / generated. + It is legal to call without the callback. + Returns true if successful, false if not (possibly an out-of-memory error). + If the return value is true, the callback was / will be called. */ + bool GenerateChunk(int a_ChunkX, int a_ChunkZ, cChunkCoordCallback * a_CallAfter = nullptr); // Lua-accessible /** Marks the chunk as failed-to-load */ void ChunkLoadFailed(int a_ChunkX, int a_ChunkZ); |