diff options
author | Howaner <franzi.moos@googlemail.com> | 2014-09-12 19:13:46 +0200 |
---|---|---|
committer | Howaner <franzi.moos@googlemail.com> | 2014-09-12 19:13:46 +0200 |
commit | 1223a24d3c87832c08545e6f3e8e4c51ff1e7e3f (patch) | |
tree | f7cf72e49a7ca60d10af12ad9ff70910e089b028 /src/Generating/ChunkGenerator.h | |
parent | Renamed SetWalkSpeed() to SetRelativeWalkSpeed() (diff) | |
parent | Fixed iron ore drop. (diff) | |
download | cuberite-1223a24d3c87832c08545e6f3e8e4c51ff1e7e3f.tar cuberite-1223a24d3c87832c08545e6f3e8e4c51ff1e7e3f.tar.gz cuberite-1223a24d3c87832c08545e6f3e8e4c51ff1e7e3f.tar.bz2 cuberite-1223a24d3c87832c08545e6f3e8e4c51ff1e7e3f.tar.lz cuberite-1223a24d3c87832c08545e6f3e8e4c51ff1e7e3f.tar.xz cuberite-1223a24d3c87832c08545e6f3e8e4c51ff1e7e3f.tar.zst cuberite-1223a24d3c87832c08545e6f3e8e4c51ff1e7e3f.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); }; |