summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--source/cSandSimulator.cpp9
-rw-r--r--source/cSandSimulator.h1
2 files changed, 9 insertions, 1 deletions
diff --git a/source/cSandSimulator.cpp b/source/cSandSimulator.cpp
index 77f206b52..65516178b 100644
--- a/source/cSandSimulator.cpp
+++ b/source/cSandSimulator.cpp
@@ -74,4 +74,11 @@ bool cSandSimulator::IsPassable( char a_BlockID )
|| IsBlockWater(a_BlockID)
|| IsBlockLava(a_BlockID);
-} \ No newline at end of file
+}
+
+void cSandSimulator::WakeUp( int a_X, int a_Y, int a_Z )
+{
+ //Nothing else needs to be simulated :D (Bugs not included :s)
+ AddBlock( a_X, a_Y+1, a_Z );
+ AddBlock( a_X, a_Y, a_Z );
+}
diff --git a/source/cSandSimulator.h b/source/cSandSimulator.h
index 84bba935f..a3809850d 100644
--- a/source/cSandSimulator.h
+++ b/source/cSandSimulator.h
@@ -12,6 +12,7 @@ public:
~cSandSimulator();
virtual void Simulate( float a_Dt );
+ virtual inline void WakeUp( int a_X, int a_Y, int a_Z );
virtual inline bool IsAllowedBlock( char a_BlockID );
virtual inline bool IsPassable( char a_BlockID );