added special screen mode group '.SUBMENU' for global animations
authorHolger Schemel <info@artsoft.org>
Sun, 6 Mar 2016 23:51:16 +0000 (00:51 +0100)
committerHolger Schemel <info@artsoft.org>
Sun, 6 Mar 2016 23:51:16 +0000 (00:51 +0100)
src/cartoons.c
src/main.c
src/main.h

index 593066bd5239d16a81e99c26a24b2a3712956bce..0352e4f85ab17ed5fa8babc68a3c8798d8dce6ab 100644 (file)
 #define NUM_GLOBAL_ANIM_PARTS_AND_TOONS        MAX(NUM_GLOBAL_ANIM_PARTS_ALL,  \
                                            NUM_GLOBAL_TOON_PARTS)
 
-#define ANIM_CLASS_BIT_MENU            0
-#define ANIM_CLASS_BIT_TOONS           1
+#define ANIM_CLASS_BIT_SUBMENU         0
+#define ANIM_CLASS_BIT_MENU            1
+#define ANIM_CLASS_BIT_TOONS           2
 
-#define NUM_ANIM_CLASSES               2
+#define NUM_ANIM_CLASSES               3
 
 #define ANIM_CLASS_NONE                        0
+#define ANIM_CLASS_SUBMENU             (1 << ANIM_CLASS_BIT_SUBMENU)
 #define ANIM_CLASS_MENU                        (1 << ANIM_CLASS_BIT_MENU)
 #define ANIM_CLASS_TOONS               (1 << ANIM_CLASS_BIT_TOONS)
 
@@ -100,14 +102,14 @@ struct GameModeAnimClass
   int class;
 } game_mode_anim_classes_list[] =
 {
-  { GAME_MODE_MAIN,            ANIM_CLASS_TOONS | ANIM_CLASS_MENU      },
-  { GAME_MODE_LEVELS,          ANIM_CLASS_TOONS | ANIM_CLASS_MENU      },
-  { GAME_MODE_LEVELNR,         ANIM_CLASS_TOONS | ANIM_CLASS_MENU      },
-  { GAME_MODE_INFO,            ANIM_CLASS_TOONS | ANIM_CLASS_MENU      },
-  { GAME_MODE_SETUP,           ANIM_CLASS_TOONS | ANIM_CLASS_MENU      },
-  { GAME_MODE_SCORES,          ANIM_CLASS_TOONS                        },
-
-  { -1,                                -1                                      }
+  { GAME_MODE_LEVELS, ANIM_CLASS_TOONS | ANIM_CLASS_MENU | ANIM_CLASS_SUBMENU },
+  { GAME_MODE_LEVELNR,ANIM_CLASS_TOONS | ANIM_CLASS_MENU | ANIM_CLASS_SUBMENU },
+  { GAME_MODE_INFO,   ANIM_CLASS_TOONS | ANIM_CLASS_MENU | ANIM_CLASS_SUBMENU },
+  { GAME_MODE_SETUP,  ANIM_CLASS_TOONS | ANIM_CLASS_MENU | ANIM_CLASS_SUBMENU },
+  { GAME_MODE_MAIN,   ANIM_CLASS_TOONS | ANIM_CLASS_MENU                     },
+  { GAME_MODE_SCORES, ANIM_CLASS_TOONS                                       },
+
+  { -1,                      -1                                                      }
 };
 
 struct AnimClassGameMode
@@ -116,10 +118,11 @@ struct AnimClassGameMode
   int game_mode;
 } anim_class_game_modes_list[] =
 {
-  { ANIM_CLASS_BIT_MENU,       GAME_MODE_PSEUDO_MENU   },
-  { ANIM_CLASS_BIT_TOONS,      GAME_MODE_PSEUDO_TOONS  },
+  { ANIM_CLASS_BIT_SUBMENU,    GAME_MODE_PSEUDO_SUBMENU        },
+  { ANIM_CLASS_BIT_MENU,       GAME_MODE_PSEUDO_MENU           },
+  { ANIM_CLASS_BIT_TOONS,      GAME_MODE_PSEUDO_TOONS          },
 
-  { -1,                                -1                      }
+  { -1,                                -1                              }
 };
 
 /* forward declaration for internal use */
index a7c5c83b6450463379f8e88a938b92b019dc5bc6..aaf7998abd5277c7dd6a11a43be76541b9ee00ef 100644 (file)
@@ -5490,6 +5490,7 @@ struct SpecialSuffixInfo special_suffix_info[NUM_SPECIAL_GFX_ARGS + 1 + 1] =
   { ".PREVIEW",                        GFX_SPECIAL_ARG_PREVIEW,                },
   { ".CRUMBLED",               GFX_SPECIAL_ARG_CRUMBLED,               },
   { ".TYPENAME",               GFX_SPECIAL_ARG_TYPENAME,               },
+  { ".SUBMENU",                        GFX_SPECIAL_ARG_SUBMENU,                },
   { ".MENU",                   GFX_SPECIAL_ARG_MENU,                   },
   { ".TOONS",                  GFX_SPECIAL_ARG_TOONS,                  },
   { ".FADING",                 GFX_SPECIAL_ARG_FADING,                 },
index 36500844c80d92a882380af57f588436cfd49f67..eb7e563babb5095e91f73dc45d6edbd5fbb3b6b7 100644 (file)
 #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_FADING         20
-#define GFX_SPECIAL_ARG_QUIT           21
+#define GFX_SPECIAL_ARG_SUBMENU                18
+#define GFX_SPECIAL_ARG_MENU           19
+#define GFX_SPECIAL_ARG_TOONS          20
+#define GFX_SPECIAL_ARG_FADING         21
+#define GFX_SPECIAL_ARG_QUIT           22
 
-#define NUM_SPECIAL_GFX_ARGS           22
+#define NUM_SPECIAL_GFX_ARGS           23
 
 /* these additional definitions are currently only used for draw offsets */
 #define GFX_SPECIAL_ARG_INFO_MAIN      0
 #define GAME_MODE_PSEUDO_PREVIEW       15
 #define GAME_MODE_PSEUDO_CRUMBLED      16
 #define GAME_MODE_PSEUDO_TYPENAME      17
-#define GAME_MODE_PSEUDO_MENU          18
-#define GAME_MODE_PSEUDO_TOONS         19
-#define GAME_MODE_PSEUDO_FADING                20
-#define GAME_MODE_QUIT                 21
+#define GAME_MODE_PSEUDO_SUBMENU       18
+#define GAME_MODE_PSEUDO_MENU          19
+#define GAME_MODE_PSEUDO_TOONS         20
+#define GAME_MODE_PSEUDO_FADING                21
+#define GAME_MODE_QUIT                 22
 
-#define NUM_GAME_MODES                 22
+#define NUM_GAME_MODES                 23
 
 /* special definitions currently only used for custom artwork configuration */
 #define MUSIC_PREFIX_BACKGROUND                0