increased maximum number of global animations (and parts) from 8 to 32
[rocksndiamonds.git] / src / libgame / system.h
index fb209d30c3b9b919a92cb814c871ccc884a4395d..be19fccd8a3fbb201d06623900e4f08d118bc9e0 100644 (file)
 
 #define STYLE_DEFAULT          STYLE_NONE
 
+/* values for special global animation events */
+#define ANIM_EVENT_NONE                0
+#define ANIM_EVENT_SELF                (1 << 16)
+#define ANIM_EVENT_ANY         (1 << 17)
+
+#define ANIM_EVENT_ANIM_BIT    0
+#define ANIM_EVENT_PART_BIT    8
+
+#define ANIM_EVENT_ANIM_MASK   (0xff << ANIM_EVENT_ANIM_BIT)
+#define ANIM_EVENT_PART_MASK   (0xff << ANIM_EVENT_PART_BIT)
+
+#define ANIM_EVENT_DEFAULT     ANIM_EVENT_NONE
+
 /* values for fade mode */
 #define FADE_TYPE_NONE         0
 #define FADE_TYPE_FADE_IN      (1 << 0)
 #define POS_LOWER              5
 #define POS_BOTTOM             6
 #define POS_ANY                        7
+#define POS_LAST               8
 
 /* values for text alignment */
 #define ALIGN_LEFT             (1 << 0)
 /* maximum number of levels in a level set */
 #define MAX_LEVELS             1000
 
+/* maximum number of global animation and parts */
+#define MAX_GLOBAL_ANIMS               32
+#define MAX_GLOBAL_ANIM_PARTS          32
+
 /* default name for empty highscore entry */
 #define EMPTY_PLAYER_NAME      "no name"
 
 #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 +782,8 @@ struct ProgramInfo
 
   boolean global_scores;
   boolean many_scores_per_name;
+
+  boolean headless;
 };
 
 struct OptionInfo
@@ -968,6 +989,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 +1001,8 @@ struct SetupEditorInfo
   boolean el_by_type;
 
   boolean show_element_token;
+
+  boolean use_template_for_new_levels;
 };
 
 struct SetupEditorCascadeInfo
@@ -1087,6 +1112,7 @@ struct SetupInfo
   boolean team_mode;
   boolean handicap;
   boolean skip_levels;
+  boolean increment_levels;
   boolean time_limit;
   boolean fullscreen;
   int window_scaling_percent;