rnd-20070916-1-src
[rocksndiamonds.git] / src / editor.c
index 081dc373c0c6145855fb277046a4e3c190bc5d74..38af449cea7298ab48d53438bbf56a515beca7ec 100644 (file)
@@ -3311,6 +3311,11 @@ static int editor_el_emerald_mine[] =
   EL_EM_GATE_2_GRAY,
   EL_EM_GATE_3_GRAY,
   EL_EM_GATE_4_GRAY,
+
+  EL_EM_EXIT_CLOSED,
+  EL_EM_EXIT_OPEN,
+  EL_EM_STEEL_EXIT_CLOSED,
+  EL_EM_STEEL_EXIT_OPEN,
 };
 static int *editor_hl_emerald_mine_ptr = editor_hl_emerald_mine;
 static int *editor_el_emerald_mine_ptr = editor_el_emerald_mine;
@@ -3642,25 +3647,25 @@ static int editor_el_diamond_caves[] =
   EL_SWITCHGATE_SWITCH_UP,
   EL_SWITCHGATE_SWITCH_DOWN,
 
-  EL_EMPTY,
-  EL_EMPTY,
-  EL_DC_SWITCHGATE_SWITCH_UP,
-  EL_DC_SWITCHGATE_SWITCH_DOWN,
-
-  EL_SIGN_EXCLAMATION,
-  EL_SIGN_STOP,
   EL_LIGHT_SWITCH,
   EL_LIGHT_SWITCH_ACTIVE,
+  EL_DC_SWITCHGATE_SWITCH_UP,
+  EL_DC_SWITCHGATE_SWITCH_DOWN,
 
+  EL_STEEL_EXIT_CLOSED,
+  EL_STEEL_EXIT_OPEN,
   EL_STEELWALL_SLIPPERY,
   EL_INVISIBLE_SAND,
+
+  EL_QUICKSAND_FAST_EMPTY,
+  EL_QUICKSAND_FAST_FULL,
   EL_LANDMINE,
   EL_DC_LANDMINE,
 
   EL_SHIELD_NORMAL,
   EL_SHIELD_DEADLY,
   EL_EXTRA_TIME,
-  EL_EMPTY,
+  EL_DC_MAGIC_WALL,
 
   EL_ENVELOPE_1,
   EL_ENVELOPE_2,
@@ -3677,6 +3682,7 @@ static int editor_el_diamond_caves[] =
   EL_SIGN_EMERGENCY_EXIT,
   EL_SIGN_YIN_YANG,
 
+#if 0
   EL_SIGN_SPERMS,
   EL_SIGN_BULLET,
   EL_SIGN_HEART,
@@ -3696,11 +3702,12 @@ static int editor_el_diamond_caves[] =
   EL_EMPTY,
   EL_EMPTY,
   EL_EMPTY,
+#endif
 
   EL_DC_STEELWALL_2_SINGLE,
   EL_DC_STEELWALL_2_TOP,
-  EL_STEEL_EXIT_CLOSED,
-  EL_STEEL_EXIT_OPEN,
+  EL_SIGN_EXCLAMATION,
+  EL_SIGN_STOP,
 
   EL_DC_STEELWALL_2_LEFT,
   EL_DC_STEELWALL_2_MIDDLE,
@@ -3710,52 +3717,32 @@ static int editor_el_diamond_caves[] =
   EL_DC_STEELWALL_1_TOPLEFT,
   EL_DC_STEELWALL_2_VERTICAL,
   EL_DC_STEELWALL_1_TOPRIGHT,
-  EL_EMPTY,
+  EL_DC_GATE_WHITE,
 
   EL_DC_STEELWALL_1_VERTICAL,
   EL_DC_STEELWALL_2_BOTTOM,
-  EL_EMPTY,
-  EL_EMPTY,
+  EL_DC_KEY_WHITE,
+  EL_DC_GATE_WHITE_GRAY,
 
   EL_DC_STEELWALL_1_BOTTOMLEFT,
   EL_DC_STEELWALL_1_HORIZONTAL,
   EL_DC_STEELWALL_1_BOTTOMRIGHT,
-  EL_EMPTY,
+  EL_DC_GATE_FAKE_GRAY,
 
   EL_DC_STEELWALL_1_BOTTOMRIGHT_2,
   EL_DC_STEELWALL_1_BOTTOM,
   EL_DC_STEELWALL_1_BOTTOMLEFT_2,
-  EL_EMPTY,
+  EL_EXPANDABLE_STEELWALL_HORIZONTAL,
 
   EL_DC_STEELWALL_1_RIGHT,
   EL_EMPTY,
   EL_DC_STEELWALL_1_LEFT,
-  EL_EMPTY,
+  EL_EXPANDABLE_STEELWALL_VERTICAL,
 
   EL_DC_STEELWALL_1_TOPRIGHT_2,
   EL_DC_STEELWALL_1_TOP,
   EL_DC_STEELWALL_1_TOPLEFT_2,
-  EL_EMPTY,
-
-  EL_EXPANDABLE_STEELWALL_HORIZONTAL,
-  EL_EXPANDABLE_STEELWALL_VERTICAL,
   EL_EXPANDABLE_STEELWALL_ANY,
-  EL_EMPTY,
-
-  EL_EM_EXIT_CLOSED,
-  EL_EM_EXIT_OPEN,
-  EL_EM_STEEL_EXIT_CLOSED,
-  EL_EM_STEEL_EXIT_OPEN,
-
-  EL_DC_KEY_WHITE,
-  EL_DC_GATE_WHITE,
-  EL_DC_GATE_WHITE_GRAY,
-  EL_DC_GATE_FAKE_GRAY,
-
-  EL_DC_MAGIC_WALL,
-  EL_QUICKSAND_FAST_EMPTY,
-  EL_QUICKSAND_FAST_FULL,
-  EL_EMPTY,
 };
 static int *editor_hl_diamond_caves_ptr = editor_hl_diamond_caves;
 static int *editor_el_diamond_caves_ptr = editor_el_diamond_caves;
@@ -7013,6 +7000,11 @@ void CheckElementDescriptions()
 void DrawLevelEd()
 {
   CloseDoor(DOOR_CLOSE_ALL);
+
+#if 1
+  FadeOut(REDRAW_FIELD);
+#endif
+
   OpenDoor(DOOR_OPEN_2 | DOOR_NO_DELAY);
 
 #if DEBUG
@@ -7060,7 +7052,7 @@ void DrawLevelEd()
 #endif
   MapControlButtons();
 
-#if 1
+#if 0
   FadeOut(REDRAW_FIELD);
 #endif
 
@@ -7074,6 +7066,12 @@ void DrawLevelEd()
   BlitBitmap(drawto, bitmap_db_door,
             DX, DY, DXSIZE, DYSIZE, DOOR_GFX_PAGEX1, DOOR_GFX_PAGEY1);
 
+#if 1
+  /* draw new control window (with border) to window */
+  redraw_mask |= REDRAW_ALL;
+  BackToFront();
+#endif
+
   OpenDoor(DOOR_OPEN_1);
 }
 
@@ -7326,7 +7324,7 @@ static void DrawDrawingWindow()
   stick_element_properties_window = FALSE;
 
   SetMainBackgroundImage(IMG_UNDEFINED);
-  ClearWindow();
+  ClearField();
 
   UnmapLevelEditorWindowGadgets();
   UnmapLevelEditorToolboxCustomGadgets();
@@ -7349,7 +7347,7 @@ static void DrawLevelInfoWindow()
   stick_element_properties_window = FALSE;
 
   SetMainBackgroundImage(IMG_BACKGROUND_EDITOR);
-  ClearWindow();
+  ClearField();
   UnmapLevelEditorWindowGadgets();
 
 #if 0
@@ -8319,7 +8317,7 @@ static void DrawPropertiesWindow()
     MapLevelEditorToolboxCustomGadgets();
 
   SetMainBackgroundImage(IMG_BACKGROUND_EDITOR);
-  ClearWindow();
+  ClearField();
 
 #if 0
   DrawTextSCentered(ED_SETTINGS1_YPOS, FONT_TITLE_1, "Element Settings");
@@ -10302,7 +10300,10 @@ static void HandleCounterButtons(struct GadgetInfo *gi)
   if (counter_id == ED_COUNTER_ID_SELECT_LEVEL)
   {
       LoadLevel(level_nr);
+      LoadScore(level_nr);
+
       TapeErase();
+
       ResetUndoBuffer();
       DrawEditModeWindow();