X-Git-Url: https://git.artsoft.org/?a=blobdiff_plain;f=src%2Feditor.c;h=728ff1d71319fa680751f165b45d7545fa7daed6;hb=92d7b07acc61a8fba6cb8f79c843e952bcb9dd92;hp=cc1232f8dabbeab772d20f6d200b90273a1de409;hpb=b26f8fb0a937290a3e3f8241a5765556f437ab2a;p=rocksndiamonds.git diff --git a/src/editor.c b/src/editor.c index cc1232f8..728ff1d7 100644 --- a/src/editor.c +++ b/src/editor.c @@ -7368,11 +7368,6 @@ static boolean playfield_area_changed = FALSE; void DrawLevelEd() { - int old_sx = SX; - int old_sy = SY; - int old_sxsize = SXSIZE; - int old_sysize = SYSIZE; - StopAnimation(); CloseDoor(DOOR_CLOSE_ALL); @@ -7385,13 +7380,7 @@ void DrawLevelEd() /* needed if different viewport properties defined for editor */ ChangeViewportPropertiesIfNeeded(); - if (old_sx != SX || - old_sy != SY || - old_sxsize != SXSIZE || - old_sysize != SYSIZE) - playfield_area_changed = TRUE; - else - playfield_area_changed = FALSE; + playfield_area_changed = DrawingAreaChanged(); OpenDoor(DOOR_OPEN_1 | DOOR_OPEN_2 | DOOR_NO_DELAY); @@ -7431,7 +7420,7 @@ void DrawLevelEd() BlitBitmap(graphic_info[IMG_GLOBAL_DOOR].bitmap, drawto, DOOR_GFX_PAGEX8, 236, EXSIZE, EYSIZE, EX, EY); - redraw_mask |= REDRAW_ALL; + // redraw_mask |= REDRAW_ALL; FreeLevelEditorGadgets(); CreateLevelEditorGadgets(); @@ -10285,6 +10274,10 @@ static int DrawLevelText(int sx, int sy, char letter, int mode) case TEXT_WRITECHAR: if (letter_element >= EL_CHAR_START && letter_element <= EL_CHAR_END) { + if (new_element1 >= EL_STEEL_CHAR_START && + new_element1 <= EL_STEEL_CHAR_END) + letter_element = letter_element - EL_CHAR_START + EL_STEEL_CHAR_START; + delete_buffer[sx - start_sx] = Feld[lx][ly]; Feld[lx][ly] = letter_element; @@ -11385,7 +11378,7 @@ static void HandleControlButtons(struct GadgetInfo *gi) /* needed before playing if editor playfield area has different size */ ClearRectangle(drawto, REAL_SX, REAL_SY, FULL_SXSIZE, FULL_SYSIZE); - redraw_mask = REDRAW_ALL; + // redraw_mask = REDRAW_ALL; level_editor_test_game = TRUE;