diff options
author | Howaner <franzi.moos@googlemail.com> | 2014-09-09 01:55:21 +0200 |
---|---|---|
committer | Howaner <franzi.moos@googlemail.com> | 2014-09-09 01:55:21 +0200 |
commit | 6fb0a76b1eab47a806723b0a856609e19c5c14f9 (patch) | |
tree | c6d8712bdc4167e51d030277b28256c9bb0efe7c /src/Generating/ChunkGenerator.h | |
parent | PlayerSpawn packet: Send the correct uuid. (diff) | |
parent | capitalisation error (diff) | |
download | cuberite-6fb0a76b1eab47a806723b0a856609e19c5c14f9.tar cuberite-6fb0a76b1eab47a806723b0a856609e19c5c14f9.tar.gz cuberite-6fb0a76b1eab47a806723b0a856609e19c5c14f9.tar.bz2 cuberite-6fb0a76b1eab47a806723b0a856609e19c5c14f9.tar.lz cuberite-6fb0a76b1eab47a806723b0a856609e19c5c14f9.tar.xz cuberite-6fb0a76b1eab47a806723b0a856609e19c5c14f9.tar.zst cuberite-6fb0a76b1eab47a806723b0a856609e19c5c14f9.zip |
Diffstat (limited to 'src/Generating/ChunkGenerator.h')
-rw-r--r-- | src/Generating/ChunkGenerator.h | 16 |
1 files changed, 10 insertions, 6 deletions
diff --git a/src/Generating/ChunkGenerator.h b/src/Generating/ChunkGenerator.h index 88d71f3f9..190d9e616 100644 --- a/src/Generating/ChunkGenerator.h +++ b/src/Generating/ChunkGenerator.h @@ -106,6 +106,10 @@ public: If this callback returns false, the chunk is not generated. */ virtual bool HasChunkAnyClients(int a_ChunkX, int a_ChunkZ) = 0; + + /** Called to check whether the specified chunk is in the queued state. + Currently used only in Debug-mode asserts. */ + virtual bool IsChunkQueued(int a_ChunkX, int a_ChunkZ) = 0; } ; @@ -116,7 +120,7 @@ public: void Stop(void); /// Queues the chunk for generation; removes duplicate requests - void QueueGenerateChunk(int a_ChunkX, int a_ChunkY, int a_ChunkZ); + void QueueGenerateChunk(int a_ChunkX, int a_ChunkZ, bool a_ForceGenerate); /// Generates the biomes for the specified chunk (directly, not in a separate thread). Used by the world loader if biomes failed loading. void GenerateBiomes(int a_ChunkX, int a_ChunkZ, cChunkDef::BiomeMap & a_BiomeMap); @@ -137,10 +141,10 @@ private: int m_Seed; - cCriticalSection m_CS; - cChunkCoordsList m_Queue; - cEvent m_Event; ///< Set when an item is added to the queue or the thread should terminate - cEvent m_evtRemoved; ///< Set when an item is removed from the queue + cCriticalSection m_CS; + cChunkCoordsWithBoolList m_Queue; + cEvent m_Event; ///< Set when an item is added to the queue or the thread should terminate + cEvent m_evtRemoved; ///< Set when an item is removed from the queue cGenerator * m_Generator; ///< The actual generator engine used to generate chunks @@ -154,7 +158,7 @@ private: // cIsThread override: virtual void Execute(void) override; - void DoGenerate(int a_ChunkX, int a_ChunkY, int a_ChunkZ); + void DoGenerate(int a_ChunkX, int a_ChunkZ); }; |