From bd4bc1bc76940bd91ecfbf7d01790c0433ab19e2 Mon Sep 17 00:00:00 2001 From: Holger Schemel Date: Sun, 27 Mar 2022 13:19:46 +0200 Subject: [PATCH] added new screen definition for global animations in the hall of fame This adds a new screen suffix ".SCORESONLY" for global animations, which can be used to display animations only on the main screen of the hall of fame, but not on the score details page (which can be defined using ".SCOREINFO"), while using ".SCORES" shows animations on both the main scores screen and the score details pages, as before. --- src/anim.c | 22 +++++++++++++++------- src/main.c | 1 + src/main.h | 2 ++ 3 files changed, 18 insertions(+), 7 deletions(-) diff --git a/src/anim.c b/src/anim.c index 78965ba0..c3948745 100644 --- a/src/anim.c +++ b/src/anim.c @@ -37,18 +37,20 @@ #define ANIM_CLASS_BIT_TITLE 1 #define ANIM_CLASS_BIT_MAIN 2 #define ANIM_CLASS_BIT_SCORES 3 -#define ANIM_CLASS_BIT_SUBMENU 4 -#define ANIM_CLASS_BIT_MENU 5 -#define ANIM_CLASS_BIT_TOONS 6 -#define ANIM_CLASS_BIT_NO_TITLE 7 +#define ANIM_CLASS_BIT_SCORESONLY 4 +#define ANIM_CLASS_BIT_SUBMENU 5 +#define ANIM_CLASS_BIT_MENU 6 +#define ANIM_CLASS_BIT_TOONS 7 +#define ANIM_CLASS_BIT_NO_TITLE 8 -#define NUM_ANIM_CLASSES 8 +#define NUM_ANIM_CLASSES 9 #define ANIM_CLASS_NONE 0 #define ANIM_CLASS_TITLE_INITIAL (1 << ANIM_CLASS_BIT_TITLE_INITIAL) #define ANIM_CLASS_TITLE (1 << ANIM_CLASS_BIT_TITLE) #define ANIM_CLASS_MAIN (1 << ANIM_CLASS_BIT_MAIN) #define ANIM_CLASS_SCORES (1 << ANIM_CLASS_BIT_SCORES) +#define ANIM_CLASS_SCORESONLY (1 << ANIM_CLASS_BIT_SCORESONLY) #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) @@ -58,6 +60,11 @@ ANIM_CLASS_SCORES | \ ANIM_CLASS_NO_TITLE) +#define ANIM_CLASS_TOONS_SCORESONLY (ANIM_CLASS_TOONS | \ + ANIM_CLASS_SCORES | \ + ANIM_CLASS_SCORESONLY | \ + ANIM_CLASS_NO_TITLE) + #define ANIM_CLASS_TOONS_MENU_MAIN (ANIM_CLASS_TOONS | \ ANIM_CLASS_MENU | \ ANIM_CLASS_MAIN | \ @@ -187,8 +194,8 @@ struct GameModeAnimClass { GAME_MODE_PSEUDO_TYPENAMES, ANIM_CLASS_TOONS_MENU_SUBMENU }, { GAME_MODE_PSEUDO_MAINONLY, ANIM_CLASS_TOONS_MENU_MAIN }, { GAME_MODE_PSEUDO_TYPENAME, ANIM_CLASS_TOONS_MENU_MAIN }, - { GAME_MODE_PSEUDO_SCORESOLD, ANIM_CLASS_TOONS_SCORES }, - { GAME_MODE_PSEUDO_SCORESNEW, ANIM_CLASS_TOONS_SCORES }, + { GAME_MODE_PSEUDO_SCORESOLD, ANIM_CLASS_TOONS_SCORESONLY }, + { GAME_MODE_PSEUDO_SCORESNEW, ANIM_CLASS_TOONS_SCORESONLY }, { GAME_MODE_SCOREINFO, ANIM_CLASS_TOONS_SCORES }, { GAME_MODE_EDITOR, ANIM_CLASS_NO_TITLE }, { GAME_MODE_PLAYING, ANIM_CLASS_NO_TITLE }, @@ -206,6 +213,7 @@ struct AnimClassGameMode { ANIM_CLASS_BIT_TITLE, GAME_MODE_TITLE }, { ANIM_CLASS_BIT_MAIN, GAME_MODE_MAIN }, { ANIM_CLASS_BIT_SCORES, GAME_MODE_SCORES }, + { ANIM_CLASS_BIT_SCORESONLY, GAME_MODE_PSEUDO_SCORESONLY }, { ANIM_CLASS_BIT_SUBMENU, GAME_MODE_PSEUDO_SUBMENU }, { ANIM_CLASS_BIT_MENU, GAME_MODE_PSEUDO_MENU }, { ANIM_CLASS_BIT_TOONS, GAME_MODE_PSEUDO_TOONS }, diff --git a/src/main.c b/src/main.c index f535d643..a5e8a58e 100644 --- a/src/main.c +++ b/src/main.c @@ -7525,6 +7525,7 @@ struct SpecialSuffixInfo special_suffix_info[NUM_SPECIAL_GFX_ARGS + 1 + 1] = { ".CRUMBLED", GFX_SPECIAL_ARG_CRUMBLED, }, { ".MAINONLY", GFX_SPECIAL_ARG_MAINONLY, }, { ".NAMESONLY", GFX_SPECIAL_ARG_NAMESONLY, }, + { ".SCORESONLY", GFX_SPECIAL_ARG_SCORESONLY, }, { ".TYPENAME", GFX_SPECIAL_ARG_TYPENAME, }, { ".TYPENAMES", GFX_SPECIAL_ARG_TYPENAMES, }, { ".SUBMENU", GFX_SPECIAL_ARG_SUBMENU, }, diff --git a/src/main.h b/src/main.h index 70e939a3..3d6055a8 100644 --- a/src/main.h +++ b/src/main.h @@ -2330,6 +2330,7 @@ enum GFX_SPECIAL_ARG_CRUMBLED, GFX_SPECIAL_ARG_MAINONLY, GFX_SPECIAL_ARG_NAMESONLY, + GFX_SPECIAL_ARG_SCORESONLY, GFX_SPECIAL_ARG_TYPENAME, GFX_SPECIAL_ARG_TYPENAMES, GFX_SPECIAL_ARG_SUBMENU, @@ -2583,6 +2584,7 @@ enum #define GAME_MODE_PSEUDO_CRUMBLED GFX_SPECIAL_ARG_CRUMBLED #define GAME_MODE_PSEUDO_MAINONLY GFX_SPECIAL_ARG_MAINONLY #define GAME_MODE_PSEUDO_NAMESONLY GFX_SPECIAL_ARG_NAMESONLY +#define GAME_MODE_PSEUDO_SCORESONLY GFX_SPECIAL_ARG_SCORESONLY #define GAME_MODE_PSEUDO_TYPENAME GFX_SPECIAL_ARG_TYPENAME #define GAME_MODE_PSEUDO_TYPENAMES GFX_SPECIAL_ARG_TYPENAMES #define GAME_MODE_PSEUDO_SUBMENU GFX_SPECIAL_ARG_SUBMENU -- 2.34.1