#define ANIM_CLASS_BIT_TITLE_INITIAL 0
#define ANIM_CLASS_BIT_TITLE 1
-#define ANIM_CLASS_BIT_SUBMENU 2
-#define ANIM_CLASS_BIT_MENU 3
-#define ANIM_CLASS_BIT_TOONS 4
+#define ANIM_CLASS_BIT_MAIN 2
+#define ANIM_CLASS_BIT_SUBMENU 3
+#define ANIM_CLASS_BIT_MENU 4
+#define ANIM_CLASS_BIT_TOONS 5
-#define NUM_ANIM_CLASSES 5
+#define NUM_ANIM_CLASSES 6
#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_SUBMENU (1 << ANIM_CLASS_BIT_SUBMENU)
#define ANIM_CLASS_MENU (1 << ANIM_CLASS_BIT_MENU)
#define ANIM_CLASS_TOONS (1 << ANIM_CLASS_BIT_TOONS)
-#define ANIM_CLASS_TOONS_MENU (ANIM_CLASS_TOONS | \
- ANIM_CLASS_MENU)
+#define ANIM_CLASS_TOONS_MENU_MAIN (ANIM_CLASS_TOONS | \
+ ANIM_CLASS_MENU | \
+ ANIM_CLASS_MAIN)
#define ANIM_CLASS_TOONS_MENU_SUBMENU (ANIM_CLASS_TOONS | \
ANIM_CLASS_MENU | \
{ GAME_MODE_LEVELNR, ANIM_CLASS_TOONS_MENU_SUBMENU },
{ GAME_MODE_INFO, ANIM_CLASS_TOONS_MENU_SUBMENU },
{ GAME_MODE_SETUP, ANIM_CLASS_TOONS_MENU_SUBMENU },
- { GAME_MODE_MAIN, ANIM_CLASS_TOONS_MENU },
+ { GAME_MODE_PSEUDO_MAINONLY, ANIM_CLASS_TOONS_MENU_MAIN },
+ { GAME_MODE_PSEUDO_TYPENAME, ANIM_CLASS_TOONS_MENU_MAIN },
{ GAME_MODE_SCORES, ANIM_CLASS_TOONS },
{ -1, -1 }
{
{ ANIM_CLASS_BIT_TITLE_INITIAL, GAME_MODE_TITLE_INITIAL },
{ ANIM_CLASS_BIT_TITLE, GAME_MODE_TITLE },
+ { ANIM_CLASS_BIT_MAIN, GAME_MODE_MAIN },
{ ANIM_CLASS_BIT_SUBMENU, GAME_MODE_PSEUDO_SUBMENU },
{ ANIM_CLASS_BIT_MENU, GAME_MODE_PSEUDO_MENU },
{ ANIM_CLASS_BIT_TOONS, GAME_MODE_PSEUDO_TOONS },
static struct ToonInfo toons[MAX_NUM_TOONS];
static unsigned int anim_sync_frame = 0;
-static unsigned int anim_sync_frame_delay = 0;
-static unsigned int anim_sync_frame_delay_value = GAME_FRAME_DELAY;
static int game_mode_anim_classes[NUM_GAME_MODES];
static int anim_class_game_modes[NUM_ANIM_CLASSES];
anim_sync_frame = 0;
- ResetDelayCounter(&anim_sync_frame_delay);
-
for (m = 0; m < NUM_GAME_MODES; m++)
{
mode_nr = m;
HandleGlobalAnim_Mode(&global_anim_ctrl[game_mode], action);
}
-void InitAnimation()
-{
-}
-
-void StopAnimation()
-{
-}
-
static void DoAnimationExt()
{
int i;
printf("::: DoAnimation [%d, %d]\n", anim_sync_frame, Counter());
#endif
-#if 1
- WaitUntilDelayReached(&anim_sync_frame_delay, anim_sync_frame_delay_value);
+ // global animations now synchronized with frame delay of screen update
anim_sync_frame++;
-#else
- if (DelayReached(&anim_sync_frame_delay, anim_sync_frame_delay_value))
- anim_sync_frame++;
-#endif
for (i = 0; i < NUM_GAME_MODES; i++)
HandleGlobalAnim(ANIM_CONTINUE, i);
redraw_mask = REDRAW_ALL;
#endif
}
-
-void DoAnimation()
-{
- // HandleAnimation(ANIM_CONTINUE);
-
-#if 1
- // force screen redraw in next frame to continue drawing global animations
- redraw_mask = REDRAW_ALL;
-#endif
-}