if (redraw_mask & REDRAW_ALL)
fade_mask = REDRAW_ALL;
- if (CheckIfRedrawGlobalBorderIsNeeded())
+ if (CheckIfGlobalBorderHasChanged())
fade_mask = REDRAW_ALL;
FadeOut(fade_mask);
MapScreenMenuGadgets(SCREEN_MASK_MAIN);
/* copy actual game door content to door double buffer for OpenDoor() */
+ BlitBitmap(drawto, bitmap_db_door_1, DX, DY, DXSIZE, DYSIZE, 0, 0);
BlitBitmap(drawto, bitmap_db_door_2, VX, VY, VXSIZE, VYSIZE, 0, 0);
OpenDoor(GetDoorState() | DOOR_NO_DELAY | DOOR_FORCE_REDRAW);
- DrawMaskedBorder(REDRAW_ALL);
+ DrawMaskedBorder(fade_mask);
FadeIn(fade_mask);
FadeSetEnterMenu();
}
else if (pos == MAIN_CONTROL_LEVEL_NUMBER && !button)
{
+ StopAnimation();
+
+ CloseDoor(DOOR_CLOSE_2);
+
game_status = GAME_MODE_LEVELNR;
ChangeViewportPropertiesIfNeeded();
{
if (leveldir_first)
{
+ StopAnimation();
+
+ CloseDoor(DOOR_CLOSE_2);
+
game_status = GAME_MODE_LEVELS;
SaveLevelSetup_LastSeries();
}
else if (pos == MAIN_CONTROL_SCORES)
{
+ StopAnimation();
+
+ CloseDoor(DOOR_CLOSE_2);
+
game_status = GAME_MODE_SCORES;
DrawHallOfFame(-1);
!strEqual(setup.player_name, "Artsoft"))
Request("This level is read only!", REQ_CONFIRM);
+ StopAnimation();
+
CloseDoor(DOOR_CLOSE_2);
game_status = GAME_MODE_EDITOR;
}
else if (pos == MAIN_CONTROL_INFO)
{
+ StopAnimation();
+
+ CloseDoor(DOOR_CLOSE_2);
+
game_status = GAME_MODE_INFO;
info_mode = INFO_MODE_MAIN;
}
else if (pos == MAIN_CONTROL_GAME)
{
+ StopAnimation();
+
StartGameActions(options.network, setup.autorecord, level.random_seed);
}
else if (pos == MAIN_CONTROL_SETUP)
{
+ StopAnimation();
+
+ CloseDoor(DOOR_CLOSE_2);
+
game_status = GAME_MODE_SETUP;
setup_mode = SETUP_MODE_MAIN;
if (redraw_mask & REDRAW_ALL)
fade_mask = REDRAW_ALL;
- if (CheckIfRedrawGlobalBorderIsNeeded())
+ if (CheckIfGlobalBorderHasChanged())
fade_mask = REDRAW_ALL;
UnmapAllGadgets();
FadeOut(fade_mask);
- if (fade_mask == REDRAW_ALL)
- {
- RedrawGlobalBorder();
-
- OpenDoor(DOOR_CLOSE_1 | DOOR_CLOSE_2 | DOOR_NO_DELAY | DOOR_FORCE_REDRAW);
- }
+ OpenDoor(GetDoorState() | DOOR_NO_DELAY | DOOR_FORCE_REDRAW);
ClearField();
{
int fade_mask = REDRAW_FIELD;
- if (CheckIfRedrawGlobalBorderIsNeeded())
+ if (CheckIfGlobalBorderHasChanged())
fade_mask = REDRAW_ALL;
if (strEqual((*ti_ptr)->subdir, STRING_TOP_DIRECTORY))
FadeOut(fade_mask);
+ OpenDoor(GetDoorState() | DOOR_NO_DELAY | DOOR_FORCE_REDRAW);
+
ClearField();
HandleChooseTree(0, 0, 0, 0, MB_MENU_INITIALIZE, ti_ptr);
MapScreenTreeGadgets(*ti_ptr);
+ DrawMaskedBorder(fade_mask);
+
FadeIn(fade_mask);
InitAnimation();
/* needed if different viewport properties defined for scores */
ChangeViewportPropertiesIfNeeded();
- if (CheckIfRedrawGlobalBorderIsNeeded())
+ if (CheckIfGlobalBorderHasChanged())
fade_mask = REDRAW_ALL;
UnmapAllGadgets();
PlayMenuSound();
PlayMenuMusic();
+ OpenDoor(GetDoorState() | DOOR_NO_DELAY | DOOR_FORCE_REDRAW);
+
HandleHallOfFame(highlight_position, 0, 0, 0, MB_MENU_INITIALIZE);
+ DrawMaskedBorder(fade_mask);
+
FadeIn(fade_mask);
}
char *title_string = NULL;
int i;
- if (CheckIfRedrawGlobalBorderIsNeeded())
+ if (CheckIfGlobalBorderHasChanged())
fade_mask = REDRAW_ALL;
UnmapAllGadgets();
FadeOut(fade_mask);
+ OpenDoor(GetDoorState() | DOOR_NO_DELAY | DOOR_FORCE_REDRAW);
+
ClearField();
if (setup_mode == SETUP_MODE_MAIN)
if (redraw_all)
redraw_mask = fade_mask = REDRAW_ALL;
+ DrawMaskedBorder(fade_mask);
+
FadeIn(fade_mask);
InitAnimation();