added option to not trigger further animations if CE change event consumed
[rocksndiamonds.git] / src / libgame / system.h
index 44ac3e3448626e95065285ae524203ae6ab0a396..d74b057b60b28314dbf760ac72ec0293d8d5c50c 100644 (file)
 #define ANIM_EVENT_END         (1 << 5)
 #define ANIM_EVENT_POST                (1 << 6)
 #define ANIM_EVENT_UNCLICK_ANY (1 << 7)
-
-// event mask:  bits 0-7
-// anim number: bits 8-15
-// part number: bits 16-23
-#define ANIM_EVENT_ANIM_BIT    8
-#define ANIM_EVENT_PART_BIT    16
-
+#define ANIM_EVENT_CE_CHANGE   (1 << 8)
+
+// event mask:  bits 0-15
+// CE number:   bits 16-23
+// anim number: bits 16-23
+// page number: bits 24-31
+// part number: bits 24-31
+#define ANIM_EVENT_CE_BIT      16
+#define ANIM_EVENT_ANIM_BIT    16
+#define ANIM_EVENT_PAGE_BIT    24
+#define ANIM_EVENT_PART_BIT    24
+
+#define ANIM_EVENT_CE_MASK     (0xff << ANIM_EVENT_CE_BIT)
 #define ANIM_EVENT_ANIM_MASK   (0xff << ANIM_EVENT_ANIM_BIT)
+#define ANIM_EVENT_PAGE_MASK   (0xff << ANIM_EVENT_PAGE_BIT)
 #define ANIM_EVENT_PART_MASK   (0xff << ANIM_EVENT_PART_BIT)
 
 #define ANIM_EVENT_DEFAULT     ANIM_EVENT_NONE
 #define STYLE_BLOCK            (1 << 4)
 #define STYLE_PASSTHROUGH      (1 << 5)
 #define STYLE_MULTIPLE_ACTIONS (1 << 6)
+#define STYLE_CONSUME_CE_EVENT (1 << 7)
 
 #define STYLE_DEFAULT          STYLE_NONE
 
 #define POS_LOWER              5
 #define POS_BOTTOM             6
 #define POS_ANY                        7
-#define POS_LAST               8
+#define POS_CE                 8
+#define POS_LAST               9
 
 // values for text alignment
 #define ALIGN_LEFT             (1 << 0)