#define IS_GROUP_ELEMENT(e) ((e) >= EL_GROUP_START && \
(e) <= EL_GROUP_END)
+#define IS_CLIPBOARD_ELEMENT(e) ((e) >= EL_INTERNAL_CLIPBOARD_START && \
+ (e) <= EL_INTERNAL_CLIPBOARD_END)
+
#define IS_INTERNAL_ELEMENT(e) ((e) >= EL_INTERNAL_START && \
(e) <= EL_INTERNAL_END)
#define EL_INTERNAL_CLIPBOARD_GROUP (EL_FIRST_INTERNAL + 2)
#define EL_INTERNAL_DUMMY (EL_FIRST_INTERNAL + 3)
+#define EL_INTERNAL_CLIPBOARD_START (EL_FIRST_INTERNAL + 0)
+#define EL_INTERNAL_CLIPBOARD_END (EL_FIRST_INTERNAL + 2)
#define EL_INTERNAL_START (EL_FIRST_INTERNAL + 0)
#define EL_INTERNAL_END (EL_FIRST_INTERNAL + 3)
#define PROGRAM_VERSION_MAJOR 3
#define PROGRAM_VERSION_MINOR 1
#define PROGRAM_VERSION_PATCH 0
-#define PROGRAM_VERSION_BUILD 1
+#define PROGRAM_VERSION_BUILD 2
#define PROGRAM_TITLE_STRING "Rocks'n'Diamonds"
#define PROGRAM_AUTHOR_STRING "Holger Schemel"
int collect_score; /* score value for collecting */
int collect_count; /* count value for collecting */
- int push_delay_fixed; /* constant frame delay for pushing */
- int push_delay_random; /* additional random frame delay for pushing */
- int move_delay_fixed; /* constant frame delay for moving */
- int move_delay_random; /* additional random frame delay for moving */
+ int push_delay_fixed; /* constant delay before pushing */
+ int push_delay_random; /* additional random delay before pushing */
+ int drop_delay_fixed; /* constant delay after dropping */
+ int drop_delay_random; /* additional random delay after dropping */
+ int move_delay_fixed; /* constant delay after moving */
+ int move_delay_random; /* additional random delay after moving */
int move_pattern; /* direction movable element moves to */
int move_direction_initial; /* initial direction element moves to */
boolean in_group[NUM_GROUP_ELEMENTS];
+#if 0
boolean can_leave_element; /* element can leave other element behind */
boolean can_leave_element_last;
+#endif
/* ---------- internal values used in level editor ---------- */