{ "border.draw_masked.PLAYING", "false" },
{ "border.draw_masked.DOOR", "false" },
-#if 0
- { "[title].fade_delay", "500" },
- { "[title].post_delay", "250" },
- { "[title].auto_delay", "-1" },
-#endif
-
- { "menu.fade_delay", "250" },
- { "menu.post_delay", "125" },
- { "menu.auto_delay", "-1" },
+ { "menu.navigation.anim_mode", "none" },
+ { "menu.navigation.fade_delay", "250" },
+ { "menu.navigation.post_delay", "125" },
+ { "menu.destination.anim_mode", "fade" },
+ { "menu.destination.fade_delay", "250" },
+ { "menu.destination.post_delay", "125" },
{ "menu.draw_xoffset", "0" },
{ "menu.draw_yoffset", "0" },
&border.draw_masked[GFX_SPECIAL_ARG_DOOR]
},
{
- "[title].fade_delay",
- &title_default.fade_delay
+ "menu.navigation.anim_mode",
+ &menu.navigation.anim_mode
},
{
- "[title].post_delay",
- &title_default.post_delay
+ "menu.navigation.fade_delay",
+ &menu.navigation.fade_delay
},
{
- "[title].auto_delay",
- &title_default.auto_delay
+ "menu.navigation.post_delay",
+ &menu.navigation.post_delay
},
{
- "menu.fade_delay",
- &menu.fade_delay
+ "menu.destination.anim_mode",
+ &menu.destination.anim_mode
},
{
- "menu.post_delay",
- &menu.post_delay
+ "menu.destination.fade_delay",
+ &menu.destination.fade_delay
},
{
- "menu.auto_delay",
- &menu.auto_delay
+ "menu.destination.post_delay",
+ &menu.destination.post_delay
},
{
"menu.draw_xoffset",
-#define COMPILE_DATE_STRING "2007-03-20 00:07"
+#define COMPILE_DATE_STRING "2007-03-20 01:35"
struct GameInfo game;
struct GlobalInfo global;
struct BorderInfo border;
-struct TitleInfo title_initial_default;
-struct TitleInfo title_default;
-struct TitleInfo title;
+struct TitleFadingInfo fading;
+struct TitleFadingInfo title_initial_default;
+struct TitleFadingInfo title_default;
struct TitleMessageInfo titlemessage_initial_default;
struct TitleMessageInfo titlemessage_initial[MAX_NUM_TITLE_MESSAGES];
struct TitleMessageInfo titlemessage_default;
struct MenuMainInputInfo input;
};
-struct TitleInfo
+struct TitleFadingInfo
{
int anim_mode;
int fade_delay;
int list_size[NUM_SPECIAL_GFX_ARGS];
- int fade_delay;
- int post_delay;
- int auto_delay;
+ struct TitleFadingInfo navigation;
+ struct TitleFadingInfo destination;
int sound[NUM_SPECIAL_GFX_ARGS];
int music[NUM_SPECIAL_GFX_ARGS];
extern struct TapeInfo tape;
extern struct GlobalInfo global;
extern struct BorderInfo border;
-extern struct TitleInfo title_initial_default;
-extern struct TitleInfo title_default;
-extern struct TitleInfo title;
+extern struct TitleFadingInfo fading;
+extern struct TitleFadingInfo title_initial_default;
+extern struct TitleFadingInfo title_default;
extern struct TitleMessageInfo titlemessage_initial_default;
extern struct TitleMessageInfo titlemessage_initial[];
extern struct TitleMessageInfo titlemessage_default;
return MUS_UNDEFINED;
}
-static struct TitleInfo getTitleFading(struct TitleControlInfo *tci)
+static struct TitleFadingInfo getTitleFading(struct TitleControlInfo *tci)
{
boolean is_image = tci->is_image;
int initial = tci->initial;
int nr = tci->local_nr;
- struct TitleInfo ti;
+ struct TitleFadingInfo ti;
if (is_image)
{
#if 1
if (levelset_has_changed)
- title = title_default;
+ fading = title_default;
#endif
#if 1
#if 1
if (!do_fading)
BackToFront();
- else if (title.anim_mode == ANIM_CROSSFADE)
+ else if (fading.anim_mode == ANIM_CROSSFADE)
FadeCross(redraw_mask);
else
FadeIn(redraw_mask);
#endif
#if 1
- title = title_default;
+ fading = menu.navigation;
+#else
+ fading = title_default;
#endif
SetMouseCursor(CURSOR_DEFAULT);
#endif
#endif
struct TitleControlInfo *tci;
- struct TitleInfo title_fading_next;
+ struct TitleFadingInfo fading_next;
int sound, music;
if (button == MB_MENU_INITIALIZE)
{
+#if 1
+ boolean use_cross_fading = (fading.anim_mode == ANIM_CROSSFADE);
+#endif
+
#if 0
int last_game_status = game_status; /* save current game status */
#endif
"No title screen for this level set.");
/* use default settings for fading, but always disable auto delay */
- title = title_default;
- title.auto_delay = -1;
+ fading = title_default;
+ fading.auto_delay = -1;
return;
}
FadeSoundsAndMusic();
+#if 1
+ if (use_cross_fading)
+ FadeCrossSaveBackbuffer();
+ else
+ FadeOut(REDRAW_ALL);
+#else
FadeOut(REDRAW_ALL);
+#endif
}
if (tci->is_image)
else
DrawTitleScreenMessage(tci->local_nr, tci->initial);
- title = getTitleFading(tci);
+ fading = getTitleFading(tci);
#if 1
sound = getTitleSound(tci);
SetMouseCursor(CURSOR_NONE);
+#if 1
+ if (use_cross_fading)
+ FadeCross(REDRAW_ALL);
+ else
+ FadeIn(REDRAW_ALL);
+#else
FadeIn(REDRAW_ALL);
+#endif
DelayReached(&title_delay, 0); /* reset delay counter */
return;
}
- if (title.auto_delay > -1 && DelayReached(&title_delay, title.auto_delay))
+ if (fading.auto_delay > -1 && DelayReached(&title_delay, fading.auto_delay))
button = MB_MENU_CHOICE;
if (button == MB_MENU_LEAVE)
else if (button == MB_MENU_CHOICE)
{
#if 1
- boolean use_cross_fading = (title.anim_mode == ANIM_CROSSFADE);
+ boolean use_cross_fading = (fading.anim_mode == ANIM_CROSSFADE);
#endif
if (game_status == GAME_MODE_INFO && num_title_screens == 0)
{
#if 1
#if 0
- boolean use_cross_fading = (title.anim_mode == ANIM_CROSSFADE);
+ boolean use_cross_fading = (fading.anim_mode == ANIM_CROSSFADE);
#endif
#else
int anim_mode;
else
DrawTitleScreenMessage(tci->local_nr, tci->initial);
- title_fading_next = getTitleFading(tci);
+ fading_next = getTitleFading(tci);
#if 1
sound = getTitleSound(tci);
#endif
/* last screen already faded out, next screen has no animation */
- if (!use_cross_fading && title_fading_next.anim_mode == ANIM_NONE)
- title = title_fading_next;
+ if (!use_cross_fading && fading_next.anim_mode == ANIM_NONE)
+ fading = fading_next;
if (use_cross_fading)
FadeCross(REDRAW_ALL);
else
FadeIn(REDRAW_ALL);
- title = title_fading_next;
+ fading = fading_next;
DelayReached(&title_delay, 0); /* reset delay counter */
}
#if 1
{
#if 0
- boolean use_cross_fading = (title.anim_mode == ANIM_CROSSFADE);
+ boolean use_cross_fading = (fading.anim_mode == ANIM_CROSSFADE);
#endif
if (use_cross_fading)
#if 1
if (!do_fading)
BackToFront();
- else if (title.anim_mode == ANIM_CROSSFADE)
+ else if (fading.anim_mode == ANIM_CROSSFADE)
FadeCross(redraw_mask);
else
FadeIn(redraw_mask);
void DrawInfoScreen()
{
+ fading = menu.destination;
+
DrawInfoScreenExt(REDRAW_ALL, FALSE);
}
width = FULL_SXSIZE;
height = FULL_SYSIZE;
- fade_delay = menu.fade_delay;
- post_delay = (fade_mode == FADE_MODE_FADE_OUT ? menu.post_delay : 0);
+ fade_delay = fading.fade_delay;
+ post_delay = (fade_mode == FADE_MODE_FADE_OUT ? fading.post_delay : 0);
draw_border_function = DrawMaskedBorder_FIELD;
}
width = WIN_XSIZE;
height = WIN_YSIZE;
- fade_delay = title.fade_delay;
- post_delay = (fade_mode == FADE_MODE_FADE_OUT ? title.post_delay : 0);
+ fade_delay = fading.fade_delay;
+ post_delay = (fade_mode == FADE_MODE_FADE_OUT ? fading.post_delay : 0);
}
redraw_mask |= fade_mask;