#define EL_BD_MAGIC_WALL 61
#define EL_INVISIBLE_STEELWALL 62
-#define EL_MAZE_RUNNER 63
+#define EL_UNUSED_63 63
#define EL_DYNABOMB_INCREASE_NUMBER 64
#define EL_DYNABOMB_INCREASE_SIZE 65
struct ElementGroupInfo
{
int num_elements; /* number of elements in this group */
-
short element[MAX_ELEMENTS_IN_GROUP]; /* list of elements in this group */
+
+ /* the following is the same as above, but with recursively resolved group
+ elements (group elements may also contain further group elements!) */
+ int num_elements_resolved;
+ short element_resolved[NUM_FILE_ELEMENTS];
};
struct ElementInfo
int move_pattern; /* direction movable element moves to */
int move_direction_initial; /* initial direction element moves to */
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 slippery_type; /* how/where other elements slip away */
int event_page_nr[NUM_CHANGE_EVENTS]; /* page number for each event */
struct ElementChangeInfo *event_page[NUM_CHANGE_EVENTS]; /* page for event */
+ boolean in_group[NUM_GROUP_ELEMENTS];
+
/* ---------- internal values used in level editor ---------- */
int access_type; /* walkable or passable */