X-Git-Url: https://git.artsoft.org/?a=blobdiff_plain;ds=sidebyside;f=src%2Fmain.h;h=4dee3226237e971b65afff0a85b2a9940e8a1cd5;hb=e1feae09b7599525167992970fcc1c731214cc97;hp=f3f625dc5906dafa5225298b46ff748d8d748833;hpb=e4bc04ce0cb3fd188b2dcc362c7f3afe692124a7;p=rocksndiamonds.git diff --git a/src/main.h b/src/main.h index f3f625dc..4dee3226 100644 --- a/src/main.h +++ b/src/main.h @@ -1464,8 +1464,12 @@ struct ElementChangeInfo 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 @@ -1509,6 +1513,8 @@ 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 */ @@ -1529,6 +1535,8 @@ struct ElementInfo 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 */