height = graphic_info[graphic].height * size / TILESIZE;
if (draw_masked)
- {
- SetClipOrigin(src_bitmap, src_bitmap->stored_clip_gc,
- dst_x - src_x, dst_y - src_y);
BlitBitmapMasked(src_bitmap, drawto, src_x, src_y, width, height,
dst_x, dst_y);
- }
else
- {
BlitBitmap(src_bitmap, drawto, src_x, src_y, width, height,
dst_x, dst_y);
- }
}
}
else if (type == TYPE_STRING)
FadeIn(REDRAW_FIELD);
+#if 1
+ // full screen redraw is required at this point in the following cases:
+ // - special editor door undrawn when game was started from level editor
+ // - drawing area (playfield) was changed and has to be removed completely
+ redraw_mask = REDRAW_ALL;
+ BackToFront();
+#endif
+
if (!game.restart_level)
{
/* copy default game door content to main double buffer */
/* scroll in two steps of half tile size to make things smoother */
BlitBitmap(drawto_field, window, fx, fy, SXSIZE, SYSIZE, SX, SY);
- FlushDisplay();
Delay(wait_delay_value);
/* scroll second step to align at full tile size */