From 9f88e49643566b03fbd6e92509bb66fd42bc1daa Mon Sep 17 00:00:00 2001 From: Holger Schemel Date: Mon, 7 Mar 2016 00:51:16 +0100 Subject: [PATCH] added special screen mode group '.SUBMENU' for global animations --- src/cartoons.c | 31 +++++++++++++++++-------------- src/main.c | 1 + src/main.h | 22 ++++++++++++---------- 3 files changed, 30 insertions(+), 24 deletions(-) diff --git a/src/cartoons.c b/src/cartoons.c index 593066bd..0352e4f8 100644 --- a/src/cartoons.c +++ b/src/cartoons.c @@ -24,12 +24,14 @@ #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 */ diff --git a/src/main.c b/src/main.c index a7c5c83b..aaf7998a 100644 --- a/src/main.c +++ b/src/main.c @@ -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, }, diff --git a/src/main.h b/src/main.h index 36500844..eb7e563b 100644 --- a/src/main.h +++ b/src/main.h @@ -1802,12 +1802,13 @@ #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 @@ -2005,12 +2006,13 @@ #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 -- 2.34.1