Thread-safe chunk generation, storage and generator are queried for progress while initializing server

Note that this commit breaks foliage generation - there are no trees in the chunks generated!

git-svn-id: http://mc-server.googlecode.com/svn/trunk@292 0a769ca7-a7f5-676a-18bf-c427514a06d6
This commit is contained in:
madmaxoft@gmail.com
2012-02-18 17:53:22 +00:00
parent 57dedd585c
commit 499745c1c7
16 changed files with 407 additions and 175 deletions
+5
View File
@@ -43,6 +43,10 @@ public:
void Stop(void);
void GenerateChunk(int a_ChunkX, int a_ChunkY, int a_ChunkZ); // Queues the chunk for generation; removes duplicate requests
void WaitForQueueEmpty(void);
int GetQueueLength(void);
private:
@@ -52,6 +56,7 @@ private:
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
// cIsThread override:
virtual void Execute(void) override;