diff options
author | worktycho <work.tycho@gmail.com> | 2014-06-16 18:37:07 +0200 |
---|---|---|
committer | worktycho <work.tycho@gmail.com> | 2014-06-16 18:37:07 +0200 |
commit | 4fddbf9dfc9375a2ef1da8a0fe68cf0f8b09187f (patch) | |
tree | dccc512f48903e55086ad9624cd2f98dba1df6f9 /src/LightingThread.h | |
parent | Fixed gcc compilation. (diff) | |
parent | Fixed link errors (diff) | |
download | cuberite-4fddbf9dfc9375a2ef1da8a0fe68cf0f8b09187f.tar cuberite-4fddbf9dfc9375a2ef1da8a0fe68cf0f8b09187f.tar.gz cuberite-4fddbf9dfc9375a2ef1da8a0fe68cf0f8b09187f.tar.bz2 cuberite-4fddbf9dfc9375a2ef1da8a0fe68cf0f8b09187f.tar.lz cuberite-4fddbf9dfc9375a2ef1da8a0fe68cf0f8b09187f.tar.xz cuberite-4fddbf9dfc9375a2ef1da8a0fe68cf0f8b09187f.tar.zst cuberite-4fddbf9dfc9375a2ef1da8a0fe68cf0f8b09187f.zip |
Diffstat (limited to 'src/LightingThread.h')
-rw-r--r-- | src/LightingThread.h | 11 |
1 files changed, 9 insertions, 2 deletions
diff --git a/src/LightingThread.h b/src/LightingThread.h index 770ae809f..a484fcbed 100644 --- a/src/LightingThread.h +++ b/src/LightingThread.h @@ -108,6 +108,9 @@ protected: cEvent m_evtItemAdded; // Set when queue is appended, or to stop the thread cEvent m_evtQueueEmpty; // Set when the queue gets empty + /** The highest block in the current 3x3 chunk data */ + HEIGHTTYPE m_MaxHeight; + // Buffers for the 3x3 chunk data // These buffers alone are 1.7 MiB in size, therefore they cannot be located on the stack safely - some architectures may have only 1 MiB for stack, or even less @@ -136,8 +139,8 @@ protected: /** Lights the entire chunk. If neighbor chunks don't exist, touches them and re-queues the chunk */ void LightChunk(cLightingChunkStay & a_Item); - /** Prepares m_BlockTypes and m_HeightMap data; returns false if any of the chunks fail. Zeroes out the light arrays */ - bool ReadChunks(int a_ChunkX, int a_ChunkZ); + /** Prepares m_BlockTypes and m_HeightMap data; zeroes out the light arrays */ + void ReadChunks(int a_ChunkX, int a_ChunkZ); /** Uses m_HeightMap to initialize the m_SkyLight[] data; fills in seeds for the skylight */ void PrepareSkyLight(void); @@ -145,6 +148,10 @@ protected: /** Uses m_BlockTypes to initialize the m_BlockLight[] data; fills in seeds for the blocklight */ void PrepareBlockLight(void); + /** Same as PrepareBlockLight(), but uses a different traversal scheme; possibly better perf cache-wise. + To be compared in perf benchmarks. */ + void PrepareBlockLight2(void); + /** Calculates light in the light array specified, using stored seeds */ void CalcLight(NIBBLETYPE * a_Light); |