MAX_ED_FIELDY = getMaxEdFieldY(FALSE);
}
-static boolean playfield_area_changed = FALSE;
-
void DrawLevelEd()
{
- StopAnimation();
+ int fade_mask = REDRAW_FIELD;
CloseDoor(DOOR_CLOSE_ALL);
- FadeOut(REDRAW_FIELD);
-
- /* needed after playing if editor playfield area has different size */
- ClearRectangle(drawto, REAL_SX, REAL_SY, FULL_SXSIZE, FULL_SYSIZE);
-
/* needed if different viewport properties defined for editor */
ChangeViewportPropertiesIfNeeded();
- InitZoomLevelSettings();
+ if (CheckIfGlobalBorderHasChanged())
+ fade_mask = REDRAW_ALL;
- playfield_area_changed = DrawingAreaChanged();
+ FadeOut(fade_mask);
+
+ ClearField();
+
+ InitZoomLevelSettings();
OpenDoor(DOOR_OPEN_1 | DOOR_OPEN_2 | DOOR_NO_DELAY);
DrawEditModeWindow();
- FadeIn(playfield_area_changed ? REDRAW_ALL : REDRAW_FIELD);
+ DrawMaskedBorder(fade_mask);
+
+ FadeIn(fade_mask);
/* copy actual editor door content to door double buffer for OpenDoor() */
BlitBitmap(drawto, bitmap_db_door_1, DX, DY, DXSIZE, DYSIZE, 0, 0);
game_status = GAME_MODE_MAIN;
- DrawAndFadeInMainMenu(playfield_area_changed ? REDRAW_ALL : REDRAW_FIELD);
+ DrawMainMenu();
}
else
{