diff options
Diffstat (limited to 'src')
-rw-r--r-- | src/Chunk.cpp | 7 | ||||
-rw-r--r-- | src/ChunkMap.cpp | 6 |
2 files changed, 6 insertions, 7 deletions
diff --git a/src/Chunk.cpp b/src/Chunk.cpp index fc128b31c..0d0b0896a 100644 --- a/src/Chunk.cpp +++ b/src/Chunk.cpp @@ -352,6 +352,11 @@ void cChunk::SetAllData(cSetChunkData & a_SetChunkData) // Set the chunk data as valid. This may be needed for some simulators that perform actions upon block adding (Vaporize) SetPresence(cpPresent); + if (a_SetChunkData.ShouldMarkDirty()) + { + MarkDirty(); + } + // Wake up all simulators for their respective blocks: WakeUpSimulators(); @@ -371,9 +376,9 @@ void cChunk::SetLight( // Postponing until we see how bad it is :) m_ChunkData.SetBlockLight(a_BlockLight); - m_ChunkData.SetSkyLight(a_SkyLight); + MarkDirty(); m_IsLightValid = true; } diff --git a/src/ChunkMap.cpp b/src/ChunkMap.cpp index 4425ebb23..a2cd621d7 100644 --- a/src/ChunkMap.cpp +++ b/src/ChunkMap.cpp @@ -245,11 +245,6 @@ void cChunkMap::SetChunkData(cSetChunkData & a_SetChunkData) ASSERT(Chunk != nullptr); // Chunk cannot have unloaded since it is marked as queued Chunk->SetAllData(a_SetChunkData); - if (a_SetChunkData.ShouldMarkDirty()) - { - Chunk->MarkDirty(); - } - // Notify relevant ChunkStays: cChunkStays ToBeDisabled; for (cChunkStays::iterator itr = m_ChunkStays.begin(), end = m_ChunkStays.end(); itr != end; ++itr) @@ -290,7 +285,6 @@ void cChunkMap::ChunkLighted( return; } Chunk->SetLight(a_BlockLight, a_SkyLight); - Chunk->MarkDirty(); } |