rnd-20040118-1-src
[rocksndiamonds.git] / src / main.h
index 64cd7bdcf44b7210aca3f4fa88d57ae36a1b6fa5..f449795aac7722dd4d1ed5999ff376df10a72d55 100644 (file)
 #define MV_TURNING_RANDOM      (1 << MV_BIT_TURNING_RANDOM)
 #define MV_PREVIOUS            (1 << MV_BIT_PREVIOUS)
 
+/* values for elements left behind by custom elements */
+#define LEAVE_TYPE_UNLIMITED   0
+#define LEAVE_TYPE_LIMITED     1
+
 /* values for slippery property for custom elements */
 #define SLIPPERY_ANY_RANDOM    0
 #define SLIPPERY_ANY_LEFT_RIGHT        1
@@ -1524,6 +1528,7 @@ struct ElementInfo
   int move_stepsize;           /* step size element moves with */
   int move_enter_element;      /* element that can be entered (and removed) */
   int move_leave_element;      /* element that can be left behind */
+  int move_leave_type;         /* change (limited) or leave (unlimited) */
 
   int slippery_type;           /* how/where other elements slip away */
 
@@ -1546,6 +1551,9 @@ struct ElementInfo
 
   boolean in_group[NUM_GROUP_ELEMENTS];
 
+  boolean can_leave_element;   /* element can leave other element behind */
+  boolean can_leave_element_last;
+
   /* ---------- internal values used in level editor ---------- */
 
   int access_type;             /* walkable or passable */