changed global animations (esp. toons) to be controlled by game mode
[rocksndiamonds.git] / src / main.h
index 092a47e71b5bfbf8a0d44827a9b951b373ef3823..05c28b8e69d35675e26fa997a6c1490281ff470f 100644 (file)
 #define GFX_SPECIAL_ARG_PANEL          14
 #define GFX_SPECIAL_ARG_PREVIEW                15
 #define GFX_SPECIAL_ARG_CRUMBLED       16
+#define GFX_SPECIAL_ARG_TYPENAME       17
+#define GFX_SPECIAL_ARG_MENU           18
+#define GFX_SPECIAL_ARG_TOONS          19
+#define GFX_SPECIAL_ARG_QUIT           20
 
-#define NUM_SPECIAL_GFX_ARGS           17
+#define NUM_SPECIAL_GFX_ARGS           21
 
 /* these additional definitions are currently only used for draw offsets */
 #define GFX_SPECIAL_ARG_INFO_MAIN      0
 #define GFX_ARG_STEP_OFFSET            25
 #define GFX_ARG_STEP_XOFFSET           26
 #define GFX_ARG_STEP_YOFFSET           27
-#define GFX_ARG_STEP_FRAMES            28
-#define GFX_ARG_STEP_DELAY             29
-#define GFX_ARG_DIRECTION              30
-#define GFX_ARG_POSITION               31
-#define GFX_ARG_DRAW_XOFFSET           32
-#define GFX_ARG_DRAW_YOFFSET           33
-#define GFX_ARG_DRAW_MASKED            34
-#define GFX_ARG_ANIM_DELAY_FIXED       35
-#define GFX_ARG_ANIM_DELAY_RANDOM      36
-#define GFX_ARG_POST_DELAY_FIXED       37
-#define GFX_ARG_POST_DELAY_RANDOM      38
-#define GFX_ARG_NAME                   39
-#define GFX_ARG_SCALE_UP_FACTOR                40
-#define GFX_ARG_TILE_SIZE              41
-#define GFX_ARG_CLONE_FROM             42
-#define GFX_ARG_FADE_MODE              43
-#define GFX_ARG_FADE_DELAY             44
-#define GFX_ARG_POST_DELAY             45
-#define GFX_ARG_AUTO_DELAY             46
-#define GFX_ARG_ALIGN                  47
-#define GFX_ARG_VALIGN                 48
-#define GFX_ARG_SORT_PRIORITY          49
-#define GFX_ARG_CLASS                  50
-#define GFX_ARG_STYLE                  51
-#define GFX_ARG_ACTIVE_XOFFSET         52
-#define GFX_ARG_ACTIVE_YOFFSET         53
-#define GFX_ARG_PRESSED_XOFFSET                54
-#define GFX_ARG_PRESSED_YOFFSET                55
-
-#define NUM_GFX_ARGS                   56
+#define GFX_ARG_STEP_DELAY             28
+#define GFX_ARG_DIRECTION              29
+#define GFX_ARG_POSITION               30
+#define GFX_ARG_DRAW_XOFFSET           31
+#define GFX_ARG_DRAW_YOFFSET           32
+#define GFX_ARG_DRAW_MASKED            33
+#define GFX_ARG_DRAW_ORDER             34
+#define GFX_ARG_INIT_DELAY_FIXED       35
+#define GFX_ARG_INIT_DELAY_RANDOM      36
+#define GFX_ARG_ANIM_DELAY_FIXED       37
+#define GFX_ARG_ANIM_DELAY_RANDOM      38
+#define GFX_ARG_POST_DELAY_FIXED       39
+#define GFX_ARG_POST_DELAY_RANDOM      40
+#define GFX_ARG_NAME                   41
+#define GFX_ARG_SCALE_UP_FACTOR                42
+#define GFX_ARG_TILE_SIZE              43
+#define GFX_ARG_CLONE_FROM             44
+#define GFX_ARG_FADE_MODE              45
+#define GFX_ARG_FADE_DELAY             46
+#define GFX_ARG_POST_DELAY             47
+#define GFX_ARG_AUTO_DELAY             48
+#define GFX_ARG_ALIGN                  49
+#define GFX_ARG_VALIGN                 50
+#define GFX_ARG_SORT_PRIORITY          51
+#define GFX_ARG_CLASS                  52
+#define GFX_ARG_STYLE                  53
+#define GFX_ARG_ACTIVE_XOFFSET         54
+#define GFX_ARG_ACTIVE_YOFFSET         55
+#define GFX_ARG_PRESSED_XOFFSET                56
+#define GFX_ARG_PRESSED_YOFFSET                57
+
+#define NUM_GFX_ARGS                   58
 
 
 /* values for sound configuration suffixes */
 #define NUM_FONTS                      38
 #define NUM_INITIAL_FONTS              4
 
+/* values for toon animation configuration */
+#define MAX_NUM_TOONS                  20
+
 /* values for global animation configuration (must match those from main.c) */
 #define NUM_GLOBAL_ANIMS               8
 #define NUM_GLOBAL_ANIM_PARTS          8
 #define GLOBAL_ANIM_ID_PART_LAST       7
 #define GLOBAL_ANIM_ID_PART_BASE       8
 
+/* values for global border graphics */
+#define IMG_GLOBAL_BORDER_FIRST                IMG_GLOBAL_BORDER
+#define IMG_GLOBAL_BORDER_LAST         IMG_GLOBAL_BORDER_PLAYING
+
 /* values for game_status (must match special image configuration suffixes) */
 #define GAME_MODE_DEFAULT              0
 #define GAME_MODE_LOADING              1
 #define GAME_MODE_PSEUDO_PANEL         14
 #define GAME_MODE_PSEUDO_PREVIEW       15
 #define GAME_MODE_PSEUDO_CRUMBLED      16
-
-/* there are no special config file suffixes for these modes */
 #define GAME_MODE_PSEUDO_TYPENAME      17
-#define GAME_MODE_QUIT                 18
+#define GAME_MODE_PSEUDO_MENU          18
+#define GAME_MODE_PSEUDO_TOONS         19
+#define GAME_MODE_QUIT                 20
+
+#define NUM_GAME_MODES                 21
 
 /* special definitions currently only used for custom artwork configuration */
 #define MUSIC_PREFIX_BACKGROUND                0
@@ -2814,15 +2829,16 @@ struct GraphicInfo
 
   int clone_from;              /* graphic for cloning *all* settings */
 
-  int anim_delay_fixed;                /* optional delay values for bored and   */
-  int anim_delay_random;       /* sleeping player animations (animation */
-  int post_delay_fixed;                /* intervall and following pause before  */
-  int post_delay_random;       /* next intervall (bored animation only) */
+  int init_delay_fixed;                /* optional initial delay values for global */
+  int init_delay_random;       /* animations (pause interval before start) */
+  int anim_delay_fixed;                /* optional delay values for bored/sleeping */
+  int anim_delay_random;       /* and global animations (animation length) */
+  int post_delay_fixed;                /* optional delay values after bored/global */
+  int post_delay_random;       /* animations (pause before next animation) */
 
   int step_offset;             /* optional step offset of toon animations */
   int step_xoffset;            /* optional step offset of toon animations */
   int step_yoffset;            /* optional step offset of toon animations */
-  int step_frames;             /* optional step frames of toon animations */
   int step_delay;              /* optional step delay of toon animations */
   int direction;               /* optional move direction of toon animations */
   int position;                        /* optional draw position of toon animations */
@@ -2833,6 +2849,7 @@ struct GraphicInfo
   int draw_yoffset;            /* optional offset for drawing font chars */
 
   int draw_masked;             /* optional setting for drawing envelope gfx */
+  int draw_order;              /* optional draw order for global animations */
 
   int fade_mode;               /* optional setting for drawing title screens */
   int fade_delay;              /* optional setting for drawing title screens */