added function to map editor elements to game elements for MM wall elements
[rocksndiamonds.git] / src / tools.c
index 8d26fe44f8b8fcdbf85a0f0ea161a925b087d01f..a51f2f690e8909ac8d327b7dda93d2b480b06869 100644 (file)
@@ -1360,6 +1360,10 @@ void SetBorderElement()
 
   BorderElement = EL_EMPTY;
 
+  /* the MM game engine does not use a visible border element */
+  if (level.game_engine_type == GAME_ENGINE_TYPE_MM)
+    return;
+
   for (y = 0; y < lev_fieldy && BorderElement == EL_EMPTY; y++)
   {
     for (x = 0; x < lev_fieldx; x++)
@@ -2476,7 +2480,8 @@ void DrawSizedWall_MM(int dst_x, int dst_y, int element, int tilesize,
       BlitBitmap(src_bitmap, drawto, src_x, src_y, tilesize_draw, tilesize_draw,
                 dst_draw_x, dst_draw_y);
     else
-      ClearRectangle(drawto, dst_x, dst_y, tilesize_draw, tilesize_draw);
+      ClearRectangle(drawto, dst_draw_x, dst_draw_y,
+                    tilesize_draw, tilesize_draw);
   }
 }
 
@@ -7360,6 +7365,21 @@ int map_mm_wall_element(int element)
          element);
 }
 
+int map_mm_wall_element_editor(int element)
+{
+  switch (element)
+  {
+    case EL_MM_STEEL_WALL:     return EL_MM_STEEL_WALL_START;
+    case EL_MM_WOODEN_WALL:    return EL_MM_WOODEN_WALL_START;
+    case EL_MM_ICE_WALL:       return EL_MM_ICE_WALL_START;
+    case EL_MM_AMOEBA_WALL:    return EL_MM_AMOEBA_WALL_START;
+    case EL_DF_STEEL_WALL:     return EL_DF_STEEL_WALL_START;
+    case EL_DF_WOODEN_WALL:    return EL_DF_WOODEN_WALL_START;
+
+    default:                   return element;
+  }
+}
+
 int get_next_element(int element)
 {
   switch (element)