fixed bug with endless explosions (MM engine)
[rocksndiamonds.git] / src / game_mm / mm_game.c
index 6b8d02aeba340cbae2f6c72d414747dc6904344f..c1e1452af0f7f78afadca343a116888721609e03 100644 (file)
@@ -2131,6 +2131,7 @@ static void Explode_MM(int x, int y, int phase, int mode)
       Store[x][y] = EL_EMPTY;
     }
 
+    Feld[x][y] = Store[x][y];
     Store[x][y] = Store2[x][y] = 0;
     MovDir[x][y] = MovPos[x][y] = MovDelay[x][y] = 0;
     InitField(x, y, FALSE);
@@ -2680,7 +2681,7 @@ void ColorCycling(void)
   }
 }
 
-void GameActions_MM(byte action[MAX_PLAYERS], boolean warp_mode)
+static void GameActions_MM_Ext(byte action[MAX_PLAYERS], boolean warp_mode)
 {
   static unsigned int action_delay = 0;
   static unsigned int pacman_delay = 0;
@@ -3356,6 +3357,14 @@ void GameActions_MM(byte action[MAX_PLAYERS], boolean warp_mode)
   return;
 }
 
+void GameActions_MM(byte action[MAX_PLAYERS], boolean warp_mode)
+{
+  if (!button_status)
+    ClickElement(0, 0, MB_NOT_PRESSED);
+
+  GameActions_MM_Ext(action, warp_mode);
+}
+
 void MovePacMen()
 {
   static int p = -1;