fixed bug with mis-using image config option '.tile_size' for screen output
[rocksndiamonds.git] / src / editor.c
index 6414dbd4b5619682cb9771fe62c231819d7d9597..828ebd7fd9987128d896279f0636d60d51720582 100644 (file)
@@ -79,7 +79,7 @@
 #define IMG_BORDER_2                   IMG_EDITOR_ELEMENT_BORDER_INPUT
 #define ED_ELEMENT_BORDER              (graphic_info[IMG_BORDER_1].border_size)
 #define ED_DRAWINGAREA_BORDER_SIZE     (graphic_info[IMG_BORDER_2].border_size)
-#define ED_DRAWINGAREA_TILE_SIZE       (graphic_info[IMG_BORDER_2].tile_size)
+#define ED_DRAWINGAREA_TILE_SIZE       (editor.drawingarea.tile_size)
 
 /* values for checkbutton gadgets */
 #define ED_CHECKBUTTON_XSIZE        (graphic_info[IMG_EDITOR_CHECKBOX].width)
@@ -7612,48 +7612,24 @@ void InitZoomLevelSettings()
   MAX_ED_FIELDY = getMaxEdFieldY(FALSE);
 }
 
-static boolean playfield_area_changed = FALSE;
-
 void DrawLevelEd()
 {
   int fade_mask = REDRAW_FIELD;
 
-  StopAnimation();
-
   CloseDoor(DOOR_CLOSE_ALL);
 
-#if 1
   /* needed if different viewport properties defined for editor */
   ChangeViewportPropertiesIfNeeded();
-#endif
 
-  if (CheckIfRedrawGlobalBorderIsNeeded())
+  if (CheckIfGlobalBorderHasChanged())
     fade_mask = REDRAW_ALL;
 
-#if 0
-  printf("::: %d\n", (fade_mask == REDRAW_ALL ? 1 : 0));
-#endif
-
   FadeOut(fade_mask);
 
-#if 0
-  /* needed after playing if editor playfield area has different size */
-  ClearRectangle(drawto, REAL_SX, REAL_SY, FULL_SXSIZE, FULL_SYSIZE);
-#endif
-
-#if 0
-  /* needed if different viewport properties defined for editor */
-  ChangeViewportPropertiesIfNeeded();
-#endif
-
-#if 1
   ClearField();
-#endif
 
   InitZoomLevelSettings();
 
-  playfield_area_changed = DrawingAreaChanged();
-
   OpenDoor(DOOR_OPEN_1 | DOOR_OPEN_2 | DOOR_NO_DELAY);
 
 #if DEBUG
@@ -7712,10 +7688,7 @@ void DrawLevelEd()
 
   DrawEditModeWindow();
 
-  fade_mask = (playfield_area_changed ? REDRAW_ALL : REDRAW_FIELD);
-
-  if (CheckIfRedrawGlobalBorderIsNeeded())
-    fade_mask = REDRAW_ALL;
+  DrawMaskedBorder(fade_mask);
 
   FadeIn(fade_mask);
 
@@ -10948,7 +10921,7 @@ static void HandleDrawingAreas(struct GadgetInfo *gi)
          DrawFixedGraphicExt(drawto,
                              gi->x + sx * TILEX,
                              gi->y + sy * TILEY,
-                             el2img(new_element), 0);
+                             el2edimg(new_element), 0);
 
        if (id == GADGET_ID_CUSTOM_GRAPHIC)
          new_element = GFX_ELEMENT(new_element);
@@ -12291,7 +12264,7 @@ void RequestExitLevelEditor(boolean ask_if_level_has_changed,
 
     game_status = GAME_MODE_MAIN;
 
-    DrawAndFadeInMainMenu(playfield_area_changed ? REDRAW_ALL : REDRAW_FIELD);
+    DrawMainMenu();
   }
   else
   {