fixed bug with re-scanning laser when rotating teleporter in MM engine
[rocksndiamonds.git] / src / game_mm / mm_tools.c
index 3a3aa2e8a723f99f2b2464dd64066b77705e8e01..44fb257c855cea163f2f250e47083d2a9df7a653 100644 (file)
@@ -398,6 +398,11 @@ void DrawField_MM(int x, int y)
   int element = Tile[x][y];
 
   DrawElement_MM(x, y, element);
+
+  // old game versions randomly changed colors of bonus light balls
+  if (game.engine_version < VERSION_IDENT(4,3,3,0) &&
+      element == EL_LIGHTBALL && game_mm.lightball_rnd)
+    RND(3);
 }
 
 void DrawLevel_MM(void)
@@ -524,6 +529,12 @@ void DrawElement_MM(int x, int y, int element)
           laser.fuse_x == x &&
           laser.fuse_y == y)
     DrawGraphic_MM(x, y, IMG_MM_FUSE);
+  else if (element == EL_GRAY_BALL_OPENING)
+    DrawGraphic_MM(x, y, el_act2gfx(EL_BALL_GRAY, MM_ACTION_OPENING));
+  else if (element == EL_BOMB_ACTIVE)
+    DrawGraphic_MM(x, y, el_act2gfx(EL_BOMB, MM_ACTION_ACTIVE));
+  else if (element == EL_MINE_ACTIVE)
+    DrawGraphic_MM(x, y, el_act2gfx(EL_MINE, MM_ACTION_ACTIVE));
   else
     DrawGraphic_MM(x, y, el2gfx(element));
 }