fixed explosion graphics for bomb and McDuffin for MM engine
[rocksndiamonds.git] / src / game_mm / mm_game.c
index 63d7690b72b232c420d817d5731eb8eb3508c073..c6256e46f6c31db01f5264fb4ccd20c9fc4d5ed6 100644 (file)
@@ -2676,7 +2676,10 @@ static void Explode_MM(int x, int y, int phase, int mode)
     Store2[x][y] = mode;
 
     Tile[x][y] = EL_EXPLODING_OPAQUE;
-    GfxElement[x][y] = center_element;
+
+    GfxElement[x][y] = (center_element == EL_BOMB_ACTIVE ? EL_BOMB :
+                       IS_MCDUFFIN(center_element) ? EL_MCDUFFIN :
+                       center_element);
 
     MovDir[x][y] = MovPos[x][y] = MovDelay[x][y] = 0;
 
@@ -3493,7 +3496,11 @@ static void GameActions_MM_Ext(void)
 
       int new_element = native_mm_level.ball_content[element_pos];
 
-      Store[ELX][ELY] = get_rotated_element(new_element, RND(16));
+      // randomly rotate newly created game element, if needed
+      if (native_mm_level.rotate_ball_content)
+       new_element = get_rotated_element(new_element, RND(16));
+
+      Store[ELX][ELY] = new_element;
       Store2[ELX][ELY] = TRUE;
     }