added new steel slope game element for MM game engine
[rocksndiamonds.git] / src / game_mm / mm_tools.c
index aa9c2a5d0aab5cbdeed125d1961bdd6b7d417cc7..6aeadd315726deeddbcd3f6776d78ab00be46d21 100644 (file)
@@ -1149,6 +1149,8 @@ int get_base_element(int element)
     return EL_DF_MIRROR_AUTO_START;
   else if (IS_DF_MIRROR_FIXED(element))
     return EL_DF_MIRROR_FIXED_START;
+  else if (IS_DF_SLOPE(element))
+    return EL_DF_SLOPE_START;
   else if (IS_PACMAN(element))
     return EL_PACMAN_START;
   else if (IS_GRID_STEEL(element))
@@ -1207,7 +1209,8 @@ int get_num_elements(int element)
           IS_RECEIVER(element) ||
           IS_PACMAN(element) ||
           IS_GRID_STEEL(element) ||
-          IS_GRID_WOOD(element))
+          IS_GRID_WOOD(element) ||
+          IS_DF_SLOPE(element))
     return 4;
   else
     return 1;
@@ -1278,6 +1281,13 @@ static int getFlippedTileExt_MM(int element, int mode)
          (mode != MM_FLIP_XY && element_phase > 1))
        element_phase ^= 1;
     }
+    else if (IS_DF_SLOPE(element))
+    {
+      element_phase = (mode == MM_FLIP_X  ? 5 - element_phase :
+                      mode == MM_FLIP_Y  ? 3 - element_phase :
+                      mode == MM_FLIP_XY ? 4 - element_phase :
+                      element_phase);
+    }
     else
     {
       int num_elements_flip = num_elements;