added Deflektor style fixed mirror game elements to MM engine
[rocksndiamonds.git] / src / game_mm / mm_tools.c
index 38ff743113684fb28e05a05ac88f20f01aeb7c46..6a2067a43204cf7dd7b3d8a84f2c83aea8b7be69 100644 (file)
@@ -29,8 +29,8 @@ void SetDrawtoField_MM(int mode)
   // for convenience, absolute screen position to centered level playfield
   cSX = SX + dSX;
   cSY = SY + dSY;
-  cSX2 = SX + dSX + (SX - REAL_SX);    // including playfield border
-  cSY2 = SY + dSY + (SY - REAL_SY);    // including playfield border
+  cSX2 = SX + dSX + 2;         // including half laser line size
+  cSY2 = SY + dSY + 2;         // including half laser line size
 
   if (mode == DRAW_TO_BACKBUFFER)
   {
@@ -1147,6 +1147,8 @@ int get_base_element(int element)
     return EL_DF_MIRROR_START;
   else if (IS_DF_MIRROR_AUTO(element))
     return EL_DF_MIRROR_AUTO_START;
+  else if (IS_DF_MIRROR_FIXED(element))
+    return EL_DF_MIRROR_FIXED_START;
   else if (IS_PACMAN(element))
     return EL_PACMAN_START;
   else if (IS_GRID_STEEL(element))
@@ -1190,7 +1192,8 @@ int get_num_elements(int element)
       IS_POLAR(element) ||
       IS_BEAMER(element) ||
       IS_DF_MIRROR(element) ||
-      IS_DF_MIRROR_AUTO(element))
+      IS_DF_MIRROR_AUTO(element) ||
+      IS_DF_MIRROR_FIXED(element))
     return 16;
   else if (IS_GRID_STEEL_FIXED(element) ||
           IS_GRID_WOOD_FIXED(element) ||