* improved menu fading, adding separate fading definitions for fading
between menu screens and fading between menu and "destination" screens
+2007-03-20
+ * improved menu fading, adding separate fading definitions for fading
+ between menu screens and fading between menu and "destination" screens
+
2007-03-19
* titlemessage_initial_x and titlemessage_x set to "[DEFAULT]" in static
configuration (set from "[titlemessage_initial]" and "[titlemessage]")
2007-03-19
* titlemessage_initial_x and titlemessage_x set to "[DEFAULT]" in static
configuration (set from "[titlemessage_initial]" and "[titlemessage]")
-#define COMPILE_DATE_STRING "2007-03-20 01:35"
+#define COMPILE_DATE_STRING "2007-03-20 21:54"
#endif
MapControlButtons();
#endif
MapControlButtons();
+#if 0
+ fading = menu.navigation;
+#endif
+
+#if 1
+ if (fading.anim_mode == ANIM_CROSSFADE)
+ FadeCrossSaveBackbuffer();
+ else
+ FadeOut(REDRAW_FIELD);
+#endif
+
+#if 1
+ if (fading.anim_mode == ANIM_CROSSFADE)
+ FadeCross(REDRAW_FIELD);
+ else
+ FadeIn(REDRAW_FIELD);
+#endif
+
/* copy actual editor door content to door double buffer for OpenDoor() */
BlitBitmap(drawto, bitmap_db_door,
DX, DY, DXSIZE, DYSIZE, DOOR_GFX_PAGEX1, DOOR_GFX_PAGEY1);
/* copy actual editor door content to door double buffer for OpenDoor() */
BlitBitmap(drawto, bitmap_db_door,
DX, DY, DXSIZE, DYSIZE, DOOR_GFX_PAGEX1, DOOR_GFX_PAGEY1);
break;
case GADGET_ID_EXIT:
break;
case GADGET_ID_EXIT:
- RequestExitLevelEditor(TRUE); /* if level has changed, ask user */
+ RequestExitLevelEditor(TRUE, FALSE); /* if level has changed, ask user */
case KSYM_Escape:
if (edit_mode == ED_MODE_DRAWING)
{
case KSYM_Escape:
if (edit_mode == ED_MODE_DRAWING)
{
- RequestExitLevelEditor(setup.ask_on_escape_editor);
+ RequestExitLevelEditor(setup.ask_on_escape_editor, TRUE);
}
else if (edit_mode == ED_MODE_INFO)
{
}
else if (edit_mode == ED_MODE_INFO)
{
DrawTextS(INFOTEXT_XPOS - SX, INFOTEXT_YPOS - SY, FONT_TEXT_2, infotext);
}
DrawTextS(INFOTEXT_XPOS - SX, INFOTEXT_YPOS - SY, FONT_TEXT_2, infotext);
}
-void RequestExitLevelEditor(boolean ask_if_level_has_changed)
+void RequestExitLevelEditor(boolean ask_if_level_has_changed,
+ boolean quick_quit)
{
if (!ask_if_level_has_changed ||
!LevelChanged() ||
{
if (!ask_if_level_has_changed ||
!LevelChanged() ||
{
CloseDoor(DOOR_CLOSE_1);
SetDoorState(DOOR_CLOSE_2);
{
CloseDoor(DOOR_CLOSE_1);
SetDoorState(DOOR_CLOSE_2);
+
+ if (quick_quit)
+ fading = fading_none;
+
game_status = GAME_MODE_MAIN;
game_status = GAME_MODE_MAIN;
+#if 1
+ DrawAndFadeInMainMenu(REDRAW_FIELD);
+#else
void HandleLevelEditorKeyInput(Key);
void HandleLevelEditorIdle();
void HandleEditorGadgetInfoText(void *ptr);
void HandleLevelEditorKeyInput(Key);
void HandleLevelEditorIdle();
void HandleEditorGadgetInfoText(void *ptr);
-void RequestExitLevelEditor(boolean);
+void RequestExitLevelEditor(boolean, boolean);
void PrintEditorElementList();
void DumpBrush();
void PrintEditorElementList();
void DumpBrush();
if (!game.restart_level)
CloseDoor(DOOR_CLOSE_1);
if (!game.restart_level)
CloseDoor(DOOR_CLOSE_1);
+ if (level_editor_test_game)
+ fading = fading_none;
+ else
+ fading = menu.destination;
+
+#if 1
+ if (fading.anim_mode == ANIM_CROSSFADE)
+ FadeCrossSaveBackbuffer();
+ else
+ FadeOut(REDRAW_FIELD);
+#else
if (do_fading)
FadeOut(REDRAW_FIELD);
if (do_fading)
FadeOut(REDRAW_FIELD);
/* !!! FIX THIS (START) !!! */
if (level.game_engine_type == GAME_ENGINE_TYPE_EM)
/* !!! FIX THIS (START) !!! */
if (level.game_engine_type == GAME_ENGINE_TYPE_EM)
}
/* !!! FIX THIS (END) !!! */
}
/* !!! FIX THIS (END) !!! */
+#if 1
+ if (fading.anim_mode == ANIM_CROSSFADE)
+ FadeCross(redraw_mask);
+ else
+ FadeIn(redraw_mask);
+#else
if (do_fading)
FadeIn(REDRAW_FIELD);
BackToFront();
if (do_fading)
FadeIn(REDRAW_FIELD);
BackToFront();
if (!game.restart_level)
{
if (!game.restart_level)
{
{
game_status = GAME_MODE_MAIN;
{
game_status = GAME_MODE_MAIN;
+#if 1
+ DrawAndFadeInMainMenu(REDRAW_FIELD);
+#else
return;
}
if (!local_player->LevelSolved_SaveScore)
{
return;
}
if (!local_player->LevelSolved_SaveScore)
{
+#if 1
+ if (fading.anim_mode == ANIM_CROSSFADE)
+ FadeCrossSaveBackbuffer();
+ else
+ FadeOut(REDRAW_FIELD);
+#else
game_status = GAME_MODE_MAIN;
game_status = GAME_MODE_MAIN;
+#if 1
+ if (fading.anim_mode == ANIM_CROSSFADE)
+ FadeCrossSaveBackbuffer();
+ else
+ FadeOut(REDRAW_FIELD);
+#else
game_status = GAME_MODE_MAIN;
game_status = GAME_MODE_MAIN;
+#if 1
+ fading = fading_none;
+#else
+ OpenDoor(DOOR_CLOSE_1);
+#endif
+
game_status = GAME_MODE_MAIN;
game_status = GAME_MODE_MAIN;
+#if 1
+ DrawAndFadeInMainMenu(REDRAW_FIELD);
+#else
+#if 0
+#if 1
+ if (fading.anim_mode == ANIM_CROSSFADE)
+ FadeCrossSaveBackbuffer();
+ else
+ FadeOut(REDRAW_FIELD);
+#else
game_status = GAME_MODE_MAIN;
game_status = GAME_MODE_MAIN;
/* force redraw of (open or closed) door graphics */
SetDoorState(DOOR_OPEN_ALL);
CloseDoor(DOOR_CLOSE_ALL | DOOR_NO_DELAY);
/* force redraw of (open or closed) door graphics */
SetDoorState(DOOR_OPEN_ALL);
CloseDoor(DOOR_CLOSE_ALL | DOOR_NO_DELAY);
+
+ fading = fading_none;
+ fading = fading_none;
+
game_status = GAME_MODE_MAIN;
DrawMainMenu();
game_status = GAME_MODE_MAIN;
DrawMainMenu();
+struct TitleFadingInfo fading_none =
+{
+ ANIM_NONE,
+ 0,
+ 0,
+ 0
+};
+
/* ========================================================================= */
/* main() */
/* ========================================================================= */
/* main() */
extern struct GlobalInfo global;
extern struct BorderInfo border;
extern struct TitleFadingInfo fading;
extern struct GlobalInfo global;
extern struct BorderInfo border;
extern struct TitleFadingInfo fading;
+extern struct TitleFadingInfo fading_none;
extern struct TitleFadingInfo title_initial_default;
extern struct TitleFadingInfo title_default;
extern struct TitleMessageInfo titlemessage_initial_default;
extern struct TitleFadingInfo title_initial_default;
extern struct TitleFadingInfo title_default;
extern struct TitleMessageInfo titlemessage_initial_default;
#define DRAW_MODE(s) ((s) >= GAME_MODE_MAIN && \
(s) <= GAME_MODE_SETUP ? (s) : \
(s) == GAME_MODE_PSEUDO_TYPENAME ? \
#define DRAW_MODE(s) ((s) >= GAME_MODE_MAIN && \
(s) <= GAME_MODE_SETUP ? (s) : \
(s) == GAME_MODE_PSEUDO_TYPENAME ? \
if (ti.anim_mode == ANIM_NONE)
ti.fade_delay = ti.post_delay = 0;
if (ti.anim_mode == ANIM_NONE)
ti.fade_delay = ti.post_delay = 0;
title = title_default;
#endif
title = title_default;
#endif
+#if 0
+ printf("::: %d, %d\n", fading.anim_mode == ANIM_CROSSFADE,
+ redraw_mask == REDRAW_ALL);
+#endif
+
+#if 1
+#if XFADE
+ if (fading.anim_mode == ANIM_CROSSFADE)
+ FadeCrossSaveBackbuffer();
+ else
+ FadeOut(redraw_mask);
+#endif
+#endif
+
UnmapAllGadgets();
FadeSoundsAndMusic();
UnmapAllGadgets();
FadeSoundsAndMusic();
SetDrawtoField(DRAW_BACKBUFFER);
#endif
SetDrawtoField(DRAW_BACKBUFFER);
#endif
if (levelset_has_changed)
fading = title_default;
#endif
if (levelset_has_changed)
fading = title_default;
#endif
LoadLevel(level_nr);
SetMainBackgroundImage(IMG_BACKGROUND_MAIN);
LoadLevel(level_nr);
SetMainBackgroundImage(IMG_BACKGROUND_MAIN);
+
+#if 0
+#if XFADE
+ if (fading.anim_mode == ANIM_CROSSFADE)
+ FadeCrossSaveBackbuffer();
+ else
+ FadeOut(redraw_mask);
+#endif
+#endif
+
+#if 1
+ if (redraw_mask == REDRAW_ALL)
+ {
+ int door_state = GetDoorState();
+
+ RedrawBackground();
+
+ // OpenDoor(door_state | DOOR_NO_DELAY | DOOR_FORCE_REDRAW);
+
+#if 0
+#if 1
+ OpenDoor(DOOR_NO_DELAY | DOOR_FORCE_REDRAW);
+#else
+ OpenDoor(DOOR_CLOSE_1 | DOOR_CLOSE_2 | DOOR_NO_DELAY | DOOR_FORCE_REDRAW);
+#endif
+#endif
+ }
+#endif
+
FreeScreenGadgets();
CreateScreenGadgets();
FreeScreenGadgets();
CreateScreenGadgets();
+#if 0
+ BlitBitmap(drawto, window, VX, VY, VXSIZE, VYSIZE, VX, VY);
+ Delay(3000);
+#endif
+
/* map gadgets for main menu screen */
MapTapeButtons();
MapScreenMenuGadgets(SCREEN_MASK_MAIN);
DrawMaskedBorder(REDRAW_ALL);
/* map gadgets for main menu screen */
MapTapeButtons();
MapScreenMenuGadgets(SCREEN_MASK_MAIN);
DrawMaskedBorder(REDRAW_ALL);
+#if 1
+ if (redraw_mask == REDRAW_ALL)
+ {
+ int door_state = GetDoorState();
+
+ OpenDoor(door_state | DOOR_NO_DELAY | DOOR_FORCE_REDRAW);
+ }
+#endif
+
+#if XFADE
+ if (fading.anim_mode == ANIM_CROSSFADE)
+ FadeCross(redraw_mask);
+ else
+ FadeIn(redraw_mask);
+#else
#if 1
if (!do_fading)
BackToFront();
#if 1
if (!do_fading)
BackToFront();
else
BackToFront();
#endif
else
BackToFront();
#endif
#if 1
fading = menu.navigation;
#if 1
fading = menu.navigation;
if (game_status == GAME_MODE_INFO && num_title_screens == 0)
{
if (game_status == GAME_MODE_INFO && num_title_screens == 0)
{
+#if 0
+#if XFADE
+ if (fading.anim_mode == ANIM_CROSSFADE)
+ FadeCrossSaveBackbuffer();
+ else
+ FadeOut(REDRAW_FIELD);
+#else
+#endif
+#endif
+
+ fading = menu.destination;
info_mode = INFO_MODE_MAIN;
DrawAndFadeInInfoScreen(REDRAW_FIELD);
info_mode = INFO_MODE_MAIN;
DrawAndFadeInInfoScreen(REDRAW_FIELD);
}
#else
FadeOut(REDRAW_ALL);
}
#else
FadeOut(REDRAW_ALL);
#endif
return_to_main_menu = TRUE;
#endif
return_to_main_menu = TRUE;
if (return_to_main_menu)
{
if (return_to_main_menu)
{
SetMouseCursor(CURSOR_DEFAULT);
if (game_status == GAME_MODE_INFO)
{
SetMouseCursor(CURSOR_DEFAULT);
if (game_status == GAME_MODE_INFO)
{
OpenDoor(DOOR_CLOSE_1 | DOOR_CLOSE_2 | DOOR_NO_DELAY | DOOR_FORCE_REDRAW);
OpenDoor(DOOR_CLOSE_1 | DOOR_CLOSE_2 | DOOR_NO_DELAY | DOOR_FORCE_REDRAW);
info_mode = INFO_MODE_MAIN;
DrawInfoScreenExt(REDRAW_ALL, use_fading_main_menu);
}
else /* default: return to main menu */
{
info_mode = INFO_MODE_MAIN;
DrawInfoScreenExt(REDRAW_ALL, use_fading_main_menu);
}
else /* default: return to main menu */
{
OpenDoor(DOOR_CLOSE_1 | DOOR_OPEN_2 | DOOR_NO_DELAY | DOOR_FORCE_REDRAW);
OpenDoor(DOOR_CLOSE_1 | DOOR_OPEN_2 | DOOR_NO_DELAY | DOOR_FORCE_REDRAW);
game_status = GAME_MODE_MAIN;
DrawMainMenuExt(REDRAW_ALL, use_fading_main_menu);
game_status = GAME_MODE_MAIN;
DrawMainMenuExt(REDRAW_ALL, use_fading_main_menu);
game_status = GAME_MODE_EDITOR;
game_status = GAME_MODE_EDITOR;
+ fading = menu.destination;
+
DrawLevelEd();
}
else if (pos == MAIN_CONTROL_INFO)
DrawLevelEd();
}
else if (pos == MAIN_CONTROL_INFO)
game_status = GAME_MODE_INFO;
info_mode = INFO_MODE_MAIN;
game_status = GAME_MODE_INFO;
info_mode = INFO_MODE_MAIN;
+ fading = menu.navigation;
+
DrawInfoScreen();
}
else if (pos == MAIN_CONTROL_GAME)
DrawInfoScreen();
}
else if (pos == MAIN_CONTROL_GAME)
static void execInfoTitleScreen()
{
static void execInfoTitleScreen()
{
+ fading = menu.destination;
+
info_mode = INFO_MODE_TITLE;
DrawInfoScreen();
}
static void execInfoElements()
{
info_mode = INFO_MODE_TITLE;
DrawInfoScreen();
}
static void execInfoElements()
{
+ fading = menu.destination;
+
info_mode = INFO_MODE_ELEMENTS;
DrawInfoScreen();
}
static void execInfoMusic()
{
info_mode = INFO_MODE_ELEMENTS;
DrawInfoScreen();
}
static void execInfoMusic()
{
+ fading = menu.destination;
+
info_mode = INFO_MODE_MUSIC;
DrawInfoScreen();
}
static void execInfoCredits()
{
info_mode = INFO_MODE_MUSIC;
DrawInfoScreen();
}
static void execInfoCredits()
{
+ fading = menu.destination;
+
info_mode = INFO_MODE_CREDITS;
DrawInfoScreen();
}
static void execInfoProgram()
{
info_mode = INFO_MODE_CREDITS;
DrawInfoScreen();
}
static void execInfoProgram()
{
+ fading = menu.destination;
+
info_mode = INFO_MODE_PROGRAM;
DrawInfoScreen();
}
static void execInfoVersion()
{
info_mode = INFO_MODE_PROGRAM;
DrawInfoScreen();
}
static void execInfoVersion()
{
+ fading = menu.destination;
+
info_mode = INFO_MODE_VERSION;
DrawInfoScreen();
}
static void execInfoLevelSet()
{
info_mode = INFO_MODE_VERSION;
DrawInfoScreen();
}
static void execInfoLevelSet()
{
+ fading = menu.destination;
+
info_mode = INFO_MODE_LEVELSET;
DrawInfoScreen();
}
static void execExitInfo()
{
info_mode = INFO_MODE_LEVELSET;
DrawInfoScreen();
}
static void execExitInfo()
{
+ fading = menu.navigation;
+
game_status = GAME_MODE_MAIN;
game_status = GAME_MODE_MAIN;
+#if 1
+ DrawMainMenuExt(REDRAW_FIELD, FALSE);
+#else
}
static struct TokenInfo info_info_main[] =
}
static struct TokenInfo info_info_main[] =
UnmapAllGadgets();
CloseDoor(DOOR_CLOSE_2);
UnmapAllGadgets();
CloseDoor(DOOR_CLOSE_2);
+#if XFADE
+ if (fading.anim_mode == ANIM_CROSSFADE)
+ FadeCrossSaveBackbuffer();
+ else
+ FadeOut(redraw_mask);
+#endif
+
+#if 1
+ if (redraw_mask == REDRAW_ALL)
+ {
+ RedrawBackground();
+ OpenDoor(DOOR_CLOSE_1 | DOOR_CLOSE_2 | DOOR_NO_DELAY | DOOR_FORCE_REDRAW);
+ }
+#endif
+
ClearWindow();
DrawTextSCentered(mSY - SY + 16, FONT_TITLE_1, "Info Screen");
ClearWindow();
DrawTextSCentered(mSY - SY + 16, FONT_TITLE_1, "Info Screen");
DrawMaskedBorder(REDRAW_ALL);
DrawMaskedBorder(REDRAW_ALL);
+#if XFADE
+ if (fading.anim_mode == ANIM_CROSSFADE)
+ FadeCross(redraw_mask);
+ else
+ FadeIn(redraw_mask);
+#else
#if 1
if (!do_fading)
BackToFront();
#if 1
if (!do_fading)
BackToFront();
FadeIn(redraw_mask);
else
BackToFront();
FadeIn(redraw_mask);
else
BackToFront();
SetMainBackgroundImageIfDefined(IMG_BACKGROUND_INFO_LEVELSET);
SetMainBackgroundImageIfDefined(IMG_BACKGROUND_INFO_LEVELSET);
+#if XFADE
+ if (fading.anim_mode == ANIM_CROSSFADE)
+ FadeCrossSaveBackbuffer();
+ else
+ FadeOut(REDRAW_FIELD);
+#else
ClearWindow();
DrawHeadline();
ClearWindow();
DrawHeadline();
DrawTextSCentered(ybottom, FONT_TEXT_4,
"Press any key or button for info menu");
DrawTextSCentered(ybottom, FONT_TEXT_4,
"Press any key or button for info menu");
+#if XFADE
+ if (fading.anim_mode == ANIM_CROSSFADE)
+ FadeCross(REDRAW_FIELD);
+ else
+ FadeIn(REDRAW_FIELD);
+#else
}
void DrawInfoScreen_HelpAnim(int start, int max_anims, boolean init)
}
void DrawInfoScreen_HelpAnim(int start, int max_anims, boolean init)
{
SetMainBackgroundImageIfDefined(IMG_BACKGROUND_INFO_ELEMENTS);
{
SetMainBackgroundImageIfDefined(IMG_BACKGROUND_INFO_ELEMENTS);
+#if XFADE
+ if (fading.anim_mode == ANIM_CROSSFADE)
+ FadeCrossSaveBackbuffer();
+ else
+ FadeOut(REDRAW_FIELD);
+#else
LoadHelpAnimInfo();
LoadHelpTextInfo();
HandleInfoScreen_Elements(MB_MENU_INITIALIZE);
LoadHelpAnimInfo();
LoadHelpTextInfo();
HandleInfoScreen_Elements(MB_MENU_INITIALIZE);
+#if XFADE
+ if (fading.anim_mode == ANIM_CROSSFADE)
+ FadeCross(REDRAW_FIELD);
+ else
+ FadeIn(REDRAW_FIELD);
+#else
if (page >= num_pages)
{
FadeSoundsAndMusic();
if (page >= num_pages)
{
FadeSoundsAndMusic();
+
+#if 0
+#if XFADE
+ if (fading.anim_mode == ANIM_CROSSFADE)
+ FadeCrossSaveBackbuffer();
+ else
+ FadeOut(REDRAW_FIELD);
+#else
info_mode = INFO_MODE_MAIN;
DrawAndFadeInInfoScreen(REDRAW_FIELD);
info_mode = INFO_MODE_MAIN;
DrawAndFadeInInfoScreen(REDRAW_FIELD);
{
SetMainBackgroundImageIfDefined(IMG_BACKGROUND_INFO_MUSIC);
{
SetMainBackgroundImageIfDefined(IMG_BACKGROUND_INFO_MUSIC);
+#if XFADE
+ if (fading.anim_mode == ANIM_CROSSFADE)
+ FadeCrossSaveBackbuffer();
+ else
+ FadeOut(REDRAW_FIELD);
+#else
ClearWindow();
DrawHeadline();
ClearWindow();
DrawHeadline();
HandleInfoScreen_Music(MB_MENU_INITIALIZE);
HandleInfoScreen_Music(MB_MENU_INITIALIZE);
+#if XFADE
+ if (fading.anim_mode == ANIM_CROSSFADE)
+ FadeCross(REDRAW_FIELD);
+ else
+ FadeIn(REDRAW_FIELD);
+#else
}
void HandleInfoScreen_Music(int button)
}
void HandleInfoScreen_Music(int button)
if (list == NULL)
{
FadeSoundsAndMusic();
if (list == NULL)
{
FadeSoundsAndMusic();
+
+#if 0
+#if XFADE
+ if (fading.anim_mode == ANIM_CROSSFADE)
+ FadeCrossSaveBackbuffer();
+ else
+ FadeOut(REDRAW_FIELD);
+#else
info_mode = INFO_MODE_MAIN;
DrawAndFadeInInfoScreen(REDRAW_FIELD);
info_mode = INFO_MODE_MAIN;
DrawAndFadeInInfoScreen(REDRAW_FIELD);
+#if XFADE
+ if (fading.anim_mode == ANIM_CROSSFADE)
+ FadeCrossSaveBackbuffer();
+ else
+ FadeOut(REDRAW_FIELD);
+#else
HandleInfoScreen_Credits(MB_MENU_INITIALIZE);
HandleInfoScreen_Credits(MB_MENU_INITIALIZE);
+#if XFADE
+ if (fading.anim_mode == ANIM_CROSSFADE)
+ FadeCross(REDRAW_FIELD);
+ else
+ FadeIn(REDRAW_FIELD);
+#else
}
void HandleInfoScreen_Credits(int button)
}
void HandleInfoScreen_Credits(int button)
else
{
FadeSoundsAndMusic();
else
{
FadeSoundsAndMusic();
+
+#if 0
+#if XFADE
+ if (fading.anim_mode == ANIM_CROSSFADE)
+ FadeCrossSaveBackbuffer();
+ else
+ FadeOut(REDRAW_FIELD);
+#else
info_mode = INFO_MODE_MAIN;
DrawAndFadeInInfoScreen(REDRAW_FIELD);
info_mode = INFO_MODE_MAIN;
DrawAndFadeInInfoScreen(REDRAW_FIELD);
SetMainBackgroundImageIfDefined(IMG_BACKGROUND_INFO_PROGRAM);
SetMainBackgroundImageIfDefined(IMG_BACKGROUND_INFO_PROGRAM);
+#if XFADE
+ if (fading.anim_mode == ANIM_CROSSFADE)
+ FadeCrossSaveBackbuffer();
+ else
+ FadeOut(REDRAW_FIELD);
+#else
ClearWindow();
DrawHeadline();
ClearWindow();
DrawHeadline();
DrawTextSCentered(ybottom, FONT_TEXT_4,
"Press any key or button for info menu");
DrawTextSCentered(ybottom, FONT_TEXT_4,
"Press any key or button for info menu");
+#if XFADE
+ if (fading.anim_mode == ANIM_CROSSFADE)
+ FadeCross(REDRAW_FIELD);
+ else
+ FadeIn(REDRAW_FIELD);
+#else
}
void HandleInfoScreen_Program(int button)
}
void HandleInfoScreen_Program(int button)
PlaySound(SND_MENU_ITEM_SELECTING);
FadeSoundsAndMusic();
PlaySound(SND_MENU_ITEM_SELECTING);
FadeSoundsAndMusic();
+
+#if 0
+#if XFADE
+ if (fading.anim_mode == ANIM_CROSSFADE)
+ FadeCrossSaveBackbuffer();
+ else
+ FadeOut(REDRAW_FIELD);
+#else
info_mode = INFO_MODE_MAIN;
DrawAndFadeInInfoScreen(REDRAW_FIELD);
info_mode = INFO_MODE_MAIN;
DrawAndFadeInInfoScreen(REDRAW_FIELD);
SetMainBackgroundImageIfDefined(IMG_BACKGROUND_INFO_VERSION);
SetMainBackgroundImageIfDefined(IMG_BACKGROUND_INFO_VERSION);
+#if XFADE
+ if (fading.anim_mode == ANIM_CROSSFADE)
+ FadeCrossSaveBackbuffer();
+ else
+ FadeOut(REDRAW_FIELD);
+#else
ClearWindow();
DrawHeadline();
ClearWindow();
DrawHeadline();
DrawTextSCentered(ybottom, FONT_TEXT_4,
"Press any key or button for info menu");
DrawTextSCentered(ybottom, FONT_TEXT_4,
"Press any key or button for info menu");
+#if XFADE
+ if (fading.anim_mode == ANIM_CROSSFADE)
+ FadeCross(REDRAW_FIELD);
+ else
+ FadeIn(REDRAW_FIELD);
+#else
}
void HandleInfoScreen_Version(int button)
}
void HandleInfoScreen_Version(int button)
PlaySound(SND_MENU_ITEM_SELECTING);
FadeSoundsAndMusic();
PlaySound(SND_MENU_ITEM_SELECTING);
FadeSoundsAndMusic();
+
+#if 0
+#if XFADE
+ if (fading.anim_mode == ANIM_CROSSFADE)
+ FadeCrossSaveBackbuffer();
+ else
+ FadeOut(REDRAW_FIELD);
+#else
info_mode = INFO_MODE_MAIN;
DrawAndFadeInInfoScreen(REDRAW_FIELD);
info_mode = INFO_MODE_MAIN;
DrawAndFadeInInfoScreen(REDRAW_FIELD);
SetMainBackgroundImageIfDefined(IMG_BACKGROUND_INFO_LEVELSET);
SetMainBackgroundImageIfDefined(IMG_BACKGROUND_INFO_LEVELSET);
+#if XFADE
+ if (fading.anim_mode == ANIM_CROSSFADE)
+ FadeCrossSaveBackbuffer();
+ else
+ FadeOut(REDRAW_FIELD);
+#else
ClearWindow();
DrawHeadline();
ClearWindow();
DrawHeadline();
DrawTextCentered(mSY + SYSIZE - 20, FONT_TEXT_4,
"Press any key or button for info menu");
DrawTextCentered(mSY + SYSIZE - 20, FONT_TEXT_4,
"Press any key or button for info menu");
+#if XFADE
+ if (fading.anim_mode == ANIM_CROSSFADE)
+ FadeCross(REDRAW_FIELD);
+ else
+ FadeIn(REDRAW_FIELD);
+#else
}
void HandleInfoScreen_LevelSet(int button)
}
void HandleInfoScreen_LevelSet(int button)
PlaySound(SND_MENU_ITEM_SELECTING);
FadeSoundsAndMusic();
PlaySound(SND_MENU_ITEM_SELECTING);
FadeSoundsAndMusic();
+
+#if 0
+#if XFADE
+ if (fading.anim_mode == ANIM_CROSSFADE)
+ FadeCrossSaveBackbuffer();
+ else
+ FadeOut(REDRAW_FIELD);
+#else
info_mode = INFO_MODE_MAIN;
DrawAndFadeInInfoScreen(REDRAW_FIELD);
info_mode = INFO_MODE_MAIN;
DrawAndFadeInInfoScreen(REDRAW_FIELD);
- fading = menu.destination;
-
DrawInfoScreenExt(REDRAW_ALL, FALSE);
}
DrawInfoScreenExt(REDRAW_ALL, FALSE);
}
+#if XFADE
+ if (fading.anim_mode == ANIM_CROSSFADE)
+ FadeCrossSaveBackbuffer();
+ else
+ FadeOut(REDRAW_FIELD);
+#endif
+
ClearWindow();
HandleChooseTree(0, 0, 0, 0, MB_MENU_INITIALIZE, ti_ptr);
MapScreenTreeGadgets(*ti_ptr);
ClearWindow();
HandleChooseTree(0, 0, 0, 0, MB_MENU_INITIALIZE, ti_ptr);
MapScreenTreeGadgets(*ti_ptr);
+#if XFADE
+ if (fading.anim_mode == ANIM_CROSSFADE)
+ FadeCross(redraw_mask);
+ else
+ FadeIn(redraw_mask);
+#else
else
{
game_status = GAME_MODE_MAIN;
else
{
game_status = GAME_MODE_MAIN;
+#if 1
+ DrawMainMenuExt(REDRAW_FIELD, FALSE);
+#else
if (highlight_position < 0)
LoadScore(level_nr);
if (highlight_position < 0)
LoadScore(level_nr);
+ fading = menu.destination;
+
+#if XFADE
+ if (fading.anim_mode == ANIM_CROSSFADE)
+ FadeCrossSaveBackbuffer();
+ else
+ FadeOut(REDRAW_FIELD);
+#else
HandleHallOfFame(highlight_position, 0, 0, 0, MB_MENU_INITIALIZE);
HandleHallOfFame(highlight_position, 0, 0, 0, MB_MENU_INITIALIZE);
+#if XFADE
+ if (fading.anim_mode == ANIM_CROSSFADE)
+ FadeCross(REDRAW_FIELD);
+ else
+ FadeIn(REDRAW_FIELD);
+#else
}
static void drawHallOfFameList(int first_entry, int highlight_position)
}
static void drawHallOfFameList(int first_entry, int highlight_position)
PlaySound(SND_MENU_ITEM_SELECTING);
FadeSound(SND_BACKGROUND_SCORES);
PlaySound(SND_MENU_ITEM_SELECTING);
FadeSound(SND_BACKGROUND_SCORES);
+
+#if 0
+#if XFADE
+ if (fading.anim_mode == ANIM_CROSSFADE)
+ FadeCrossSaveBackbuffer();
+ else
+ FadeOut(REDRAW_FIELD);
+#else
game_status = GAME_MODE_MAIN;
game_status = GAME_MODE_MAIN;
static void execExitSetup()
{
game_status = GAME_MODE_MAIN;
static void execExitSetup()
{
game_status = GAME_MODE_MAIN;
+#if 1
+ DrawMainMenuExt(REDRAW_FIELD, FALSE);
+#else
}
static void execSaveAndExitSetup()
}
static void execSaveAndExitSetup()
UnmapAllGadgets();
CloseDoor(DOOR_CLOSE_2);
UnmapAllGadgets();
CloseDoor(DOOR_CLOSE_2);
+#if XFADE
+ if (fading.anim_mode == ANIM_CROSSFADE)
+ FadeCrossSaveBackbuffer();
+ else
+ FadeOut(REDRAW_FIELD);
+#endif
+
ClearWindow();
if (setup_mode == SETUP_MODE_MAIN)
ClearWindow();
if (setup_mode == SETUP_MODE_MAIN)
"Joysticks deactivated in setup menu");
#endif
"Joysticks deactivated in setup menu");
#endif
+#if 1
+ HandleSetupScreen_Generic(0, 0, 0, 0, MB_MENU_INITIALIZE);
+#endif
+
+#if XFADE
+ if (fading.anim_mode == ANIM_CROSSFADE)
+ FadeCross(redraw_mask);
+ else
+ FadeIn(redraw_mask);
+#else
HandleSetupScreen_Generic(0, 0, 0, 0, MB_MENU_INITIALIZE);
HandleSetupScreen_Generic(0, 0, 0, 0, MB_MENU_INITIALIZE);
}
void HandleSetupScreen_Generic(int mx, int my, int dx, int dy, int button)
}
void HandleSetupScreen_Generic(int mx, int my, int dx, int dy, int button)
+#if XFADE
+ if (fading.anim_mode == ANIM_CROSSFADE)
+ FadeCrossSaveBackbuffer();
+ else
+ FadeOut(REDRAW_FIELD);
+#endif
+
MapScreenMenuGadgets(SCREEN_MASK_INPUT);
HandleSetupScreen_Input(0, 0, 0, 0, MB_MENU_INITIALIZE);
MapScreenMenuGadgets(SCREEN_MASK_INPUT);
HandleSetupScreen_Input(0, 0, 0, 0, MB_MENU_INITIALIZE);
+
+#if XFADE
+ if (fading.anim_mode == ANIM_CROSSFADE)
+ FadeCross(redraw_mask);
+ else
+ FadeIn(redraw_mask);
+#else
redraw_mask |= fade_mask;
redraw_mask |= fade_mask;
+#if 1
+ if (fading.anim_mode == ANIM_NONE)
+ return;
+#endif
+
+#if 1
if (!setup.fade_screens || fade_delay == 0)
if (!setup.fade_screens || fade_delay == 0)
+#else
+ if (!setup.fade_screens || fade_delay == 0 || fading.anim_mode == ANIM_NONE)
+#endif
{
if (fade_mode == FADE_MODE_FADE_OUT)
ClearRectangle(backbuffer, x, y, width, height);
{
if (fade_mode == FADE_MODE_FADE_OUT)
ClearRectangle(backbuffer, x, y, width, height);
- stepsize = 20; /* must be choosen to always draw last frame */
+ stepsize = 20; /* must be chosen to always draw last frame */