#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)
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
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 */
{ ".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, },
#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