added animation events triggered by clicking other global animations
[rocksndiamonds.git] / src / libgame / system.h
index fb209d30c3b9b919a92cb814c871ccc884a4395d..406a6f364672ec6d241d0259328999d78eccd0a6 100644 (file)
 
 #define STYLE_DEFAULT          STYLE_NONE
 
+#define ANIM_EVENT_NONE                0
+#define ANIM_EVENT_CLICK_ANIM_1        (1 << 0)
+#define ANIM_EVENT_CLICK_ANIM_2        (1 << 1)
+#define ANIM_EVENT_CLICK_ANIM_3        (1 << 2)
+#define ANIM_EVENT_CLICK_ANIM_4        (1 << 3)
+#define ANIM_EVENT_CLICK_ANIM_5        (1 << 4)
+#define ANIM_EVENT_CLICK_ANIM_6        (1 << 5)
+#define ANIM_EVENT_CLICK_ANIM_7        (1 << 6)
+#define ANIM_EVENT_CLICK_ANIM_8        (1 << 7)
+#define ANIM_EVENT_CLICK_PART_1        (1 << 8)
+#define ANIM_EVENT_CLICK_PART_2        (1 << 9)
+#define ANIM_EVENT_CLICK_PART_3        (1 << 10)
+#define ANIM_EVENT_CLICK_PART_4        (1 << 11)
+#define ANIM_EVENT_CLICK_PART_5        (1 << 12)
+#define ANIM_EVENT_CLICK_PART_6        (1 << 13)
+#define ANIM_EVENT_CLICK_PART_7        (1 << 14)
+#define ANIM_EVENT_CLICK_PART_8        (1 << 15)
+#define ANIM_EVENT_CLICK_SELF  (1 << 16)
+
+#define ANIM_EVENT_CLICK_ANIM_ALL      (ANIM_EVENT_CLICK_ANIM_1 |      \
+                                         ANIM_EVENT_CLICK_ANIM_2 |     \
+                                         ANIM_EVENT_CLICK_ANIM_3 |     \
+                                         ANIM_EVENT_CLICK_ANIM_4 |     \
+                                         ANIM_EVENT_CLICK_ANIM_5 |     \
+                                         ANIM_EVENT_CLICK_ANIM_6 |     \
+                                         ANIM_EVENT_CLICK_ANIM_7 |     \
+                                         ANIM_EVENT_CLICK_ANIM_8)
+
+#define ANIM_EVENT_CLICK_PART_ALL      (ANIM_EVENT_CLICK_PART_1 |      \
+                                         ANIM_EVENT_CLICK_PART_2 |     \
+                                         ANIM_EVENT_CLICK_PART_3 |     \
+                                         ANIM_EVENT_CLICK_PART_4 |     \
+                                         ANIM_EVENT_CLICK_PART_5 |     \
+                                         ANIM_EVENT_CLICK_PART_6 |     \
+                                         ANIM_EVENT_CLICK_PART_7 |     \
+                                         ANIM_EVENT_CLICK_PART_8)
+
+#define ANIM_EVENT_DEFAULT     ANIM_EVENT_NONE
+
 /* values for fade mode */
 #define FADE_TYPE_NONE         0
 #define FADE_TYPE_FADE_IN      (1 << 0)
 #define SOUNDSINFO_FILENAME    "soundsinfo.conf"
 #define MUSICINFO_FILENAME     "musicinfo.conf"
 #define ARTWORKINFO_CACHE_FILE "artworkinfo.cache"
+#define LEVELTEMPLATE_FILENAME "template.level"
 #define LEVELFILE_EXTENSION    "level"
 #define TAPEFILE_EXTENSION     "tape"
 #define SCOREFILE_EXTENSION    "score"
@@ -763,6 +803,8 @@ struct ProgramInfo
 
   boolean global_scores;
   boolean many_scores_per_name;
+
+  boolean headless;
 };
 
 struct OptionInfo
@@ -968,6 +1010,8 @@ struct SetupEditorInfo
   boolean el_dx_boulderdash;
   boolean el_chars;
   boolean el_steel_chars;
+
+  boolean el_classic;
   boolean el_custom;
   boolean el_user_defined;
   boolean el_dynamic;
@@ -978,6 +1022,8 @@ struct SetupEditorInfo
   boolean el_by_type;
 
   boolean show_element_token;
+
+  boolean use_template_for_new_levels;
 };
 
 struct SetupEditorCascadeInfo
@@ -1087,6 +1133,7 @@ struct SetupInfo
   boolean team_mode;
   boolean handicap;
   boolean skip_levels;
+  boolean increment_levels;
   boolean time_limit;
   boolean fullscreen;
   int window_scaling_percent;