summaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to '')
-rw-r--r--src/Chunk.cpp2
-rw-r--r--src/Simulator/IncrementalRedstoneSimulator.inc5
-rw-r--r--src/Simulator/NoopRedstoneSimulator.h5
-rw-r--r--src/Simulator/RedstoneSimulator.h2
4 files changed, 13 insertions, 1 deletions
diff --git a/src/Chunk.cpp b/src/Chunk.cpp
index 3012f30b6..00cea4416 100644
--- a/src/Chunk.cpp
+++ b/src/Chunk.cpp
@@ -92,7 +92,7 @@ cChunk::cChunk(
m_NeighborZP(a_NeighborZP),
m_WaterSimulatorData(a_World->GetWaterSimulator()->CreateChunkData()),
m_LavaSimulatorData (a_World->GetLavaSimulator ()->CreateChunkData()),
- m_RedstoneSimulatorData(NULL),
+ m_RedstoneSimulatorData(a_World->GetRedstoneSimulator ()->CreateChunkData()),
m_AlwaysTicked(0)
{
if (a_NeighborXM != NULL)
diff --git a/src/Simulator/IncrementalRedstoneSimulator.inc b/src/Simulator/IncrementalRedstoneSimulator.inc
index 937e6b790..200fc0971 100644
--- a/src/Simulator/IncrementalRedstoneSimulator.inc
+++ b/src/Simulator/IncrementalRedstoneSimulator.inc
@@ -27,6 +27,11 @@ public:
{
}
~cIncrementalRedstoneSimulator();
+
+ virtual cRedstoneSimulatorChunkData * CreateChunkData() override
+ {
+ return new cIncrementalRedstoneSimulatorChunkData;
+ }
virtual void Simulate(float a_Dt) override { UNUSED(a_Dt);} // not used
virtual void SimulateChunk(float a_Dt, int a_ChunkX, int a_ChunkZ, ChunkType * a_Chunk) override;
diff --git a/src/Simulator/NoopRedstoneSimulator.h b/src/Simulator/NoopRedstoneSimulator.h
index 88e141e85..7c961f32b 100644
--- a/src/Simulator/NoopRedstoneSimulator.h
+++ b/src/Simulator/NoopRedstoneSimulator.h
@@ -36,5 +36,10 @@ public:
UNUSED(a_BlockZ);
UNUSED(a_Chunk);
}
+
+ virtual cRedstoneSimulatorChunkData * CreateChunkData() override
+ {
+ return NULL;
+ }
} ;
diff --git a/src/Simulator/RedstoneSimulator.h b/src/Simulator/RedstoneSimulator.h
index f6d36f869..6104d39b4 100644
--- a/src/Simulator/RedstoneSimulator.h
+++ b/src/Simulator/RedstoneSimulator.h
@@ -24,5 +24,7 @@ public:
super(a_World)
{
}
+
+ virtual cRedstoneSimulatorChunkData * CreateChunkData() = 0;
} ;