fixed bugs with missing re-initializations of delay counters in MM engine
[rocksndiamonds.git] / src / game.c
index 178f35defaf7352aff75dd66bbd529c6e22ad41c..68916166423958080b3b6718bdbf5f2d355a331c 100644 (file)
@@ -9859,7 +9859,7 @@ static void CheckWallGrowing(int ax, int ay)
 
   if (((stop_top && stop_bottom) || stop_horizontal) &&
       ((stop_left && stop_right) || stop_vertical))
-    Tile[ax][ay] = EL_WALL;
+    Tile[ax][ay] = (is_steelwall ? EL_STEELWALL : EL_WALL);
 
   if (new_wall)
     PlayLevelSoundAction(ax, ay, ACTION_GROWING);
@@ -11678,6 +11678,21 @@ void AdvanceFrameAndPlayerCounters(int player_nr)
   }
 }
 
+void AdvanceFrameCounter(void)
+{
+  FrameCounter++;
+}
+
+void AdvanceGfxFrame(void)
+{
+  int x, y;
+
+  SCAN_PLAYFIELD(x, y)
+  {
+    GfxFrame[x][y]++;
+  }
+}
+
 void StartGameActions(boolean init_network_game, boolean record_tape,
                      int random_seed)
 {
@@ -12025,6 +12040,8 @@ void GameActions_SP_Main(void)
 
 void GameActions_MM_Main(void)
 {
+  AdvanceGfxFrame();
+
   GameActions_MM(local_player->effective_mouse_action);
 }