Remove redundant ErasePowerData call
* Also fix a return that should've been continue
This commit is contained in:
parent
860eedd3d7
commit
1673c84978
|
@ -152,7 +152,7 @@ void cIncrementalRedstoneSimulator::SimulateChunk(std::chrono::milliseconds a_Dt
|
||||||
const auto NeighbourChunk = a_Chunk->GetRelNeighborChunkAdjustCoords(CurrentLocation);
|
const auto NeighbourChunk = a_Chunk->GetRelNeighborChunkAdjustCoords(CurrentLocation);
|
||||||
if ((NeighbourChunk == nullptr) || !NeighbourChunk->IsValid())
|
if ((NeighbourChunk == nullptr) || !NeighbourChunk->IsValid())
|
||||||
{
|
{
|
||||||
return;
|
continue;
|
||||||
}
|
}
|
||||||
|
|
||||||
ProcessWorkItem(*NeighbourChunk, *a_Chunk, CurrentLocation);
|
ProcessWorkItem(*NeighbourChunk, *a_Chunk, CurrentLocation);
|
||||||
|
@ -170,17 +170,15 @@ void cIncrementalRedstoneSimulator::SimulateChunk(std::chrono::milliseconds a_Dt
|
||||||
|
|
||||||
void cIncrementalRedstoneSimulator::ProcessWorkItem(cChunk & Chunk, cChunk & TickingSource, const Vector3i Position)
|
void cIncrementalRedstoneSimulator::ProcessWorkItem(cChunk & Chunk, cChunk & TickingSource, const Vector3i Position)
|
||||||
{
|
{
|
||||||
auto & ChunkData = *static_cast<cIncrementalRedstoneSimulatorChunkData *>(Chunk.GetRedstoneSimulatorData());
|
|
||||||
|
|
||||||
BLOCKTYPE CurrentBlock;
|
BLOCKTYPE CurrentBlock;
|
||||||
NIBBLETYPE CurrentMeta;
|
NIBBLETYPE CurrentMeta;
|
||||||
Chunk.GetBlockTypeMeta(Position, CurrentBlock, CurrentMeta);
|
Chunk.GetBlockTypeMeta(Position, CurrentBlock, CurrentMeta);
|
||||||
|
|
||||||
auto CurrentHandler = GetComponentHandler(CurrentBlock);
|
auto CurrentHandler = GetComponentHandler(CurrentBlock);
|
||||||
if (CurrentHandler == nullptr) // Block at CurrentPosition doesn't have a corresponding redstone handler
|
if (CurrentHandler == nullptr)
|
||||||
{
|
{
|
||||||
// Clean up cached PowerData for CurrentPosition
|
// Block at Position doesn't have a corresponding redstone handler
|
||||||
ChunkData.ErasePowerData(Position);
|
// ErasePowerData will have been called in AddBlock
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -229,7 +227,7 @@ void cIncrementalRedstoneSimulator::ProcessWorkItem(cChunk & Chunk, cChunk & Tic
|
||||||
void cIncrementalRedstoneSimulator::AddBlock(Vector3i a_Block, cChunk * a_Chunk)
|
void cIncrementalRedstoneSimulator::AddBlock(Vector3i a_Block, cChunk * a_Chunk)
|
||||||
{
|
{
|
||||||
// Can't inspect block, ignore:
|
// Can't inspect block, ignore:
|
||||||
if ((a_Chunk == nullptr) || (!a_Chunk->IsValid()))
|
if ((a_Chunk == nullptr) || !a_Chunk->IsValid())
|
||||||
{
|
{
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue