#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)
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 | \
{ GAME_MODE_TITLE_3, ANIM_CLASS_TITLE },
{ GAME_MODE_TITLE_4, ANIM_CLASS_TITLE },
{ GAME_MODE_TITLE_5, ANIM_CLASS_TITLE },
+ { GAME_MODE_NAMES, ANIM_CLASS_TOONS_MENU_SUBMENU },
{ GAME_MODE_LEVELS, ANIM_CLASS_TOONS_MENU_SUBMENU },
{ 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_PSEUDO_NAMESONLY, ANIM_CLASS_TOONS_MENU_SUBMENU },
+ { 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 },
{ 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 },
if (drawing_target == DRAW_TO_FADE_TARGET)
after_fading = TRUE;
- // special case: changing from/to this screen is done without fading
- if (global.anim_status == GAME_MODE_PSEUDO_TYPENAME ||
- anim_status_last == GAME_MODE_PSEUDO_TYPENAME)
+ // special case: changing from/to these screens is done without fading
+ if (global.anim_status == GAME_MODE_PSEUDO_TYPENAME ||
+ global.anim_status == GAME_MODE_PSEUDO_TYPENAMES ||
+ anim_status_last == GAME_MODE_PSEUDO_TYPENAME ||
+ anim_status_last == GAME_MODE_PSEUDO_TYPENAMES)
after_fading = TRUE;
// ---------- part 1 ------------------------------------------------------
gfx.anim_random_frame = last_anim_random_frame;
- getFixedGraphicSource(part->graphic, frame, &src_bitmap,
- &src_x, &src_y);
+ getGlobalAnimGraphicSource(part->graphic, frame, &src_bitmap,
+ &src_x, &src_y);
src_x += cut_x;
src_y += cut_y;
ResetGlobalAnim_Clicked();
}
+ DrawEnvelopeRequestToScreen(drawing_target, drawing_stage);
+
if (gfx.cursor_mode_override != last_cursor_mode_override)
SetMouseCursor(gfx.cursor_mode);
}
if (event_action == ANIM_EVENT_ACTION_NONE)
return FALSE;
- PushUserEvent(USEREVENT_ANIM_EVENT_ACTION, event_action, 0);
+ if (event_action < MAX_IMAGE_FILES)
+ PushUserEvent(USEREVENT_ANIM_EVENT_ACTION, event_action, 0);
+ else
+ OpenURLFromHash(anim_url_hash, event_action);
// check if further actions are allowed to be executed
if (part->control_info.style & STYLE_MULTIPLE_ACTIONS)