- int lx = from_x + x, ly = from_y + y;
-
- if (lx >= 0 && lx < lev_fieldx &&
- ly >= 0 && ly < lev_fieldy)
- DrawPreviewElement(xpos + x * preview_tilesize,
- ypos + y * preview_tilesize,
- level.field[lx][ly], preview_tilesize);
- else if (lx >= -1 && lx < lev_fieldx+1 &&
- ly >= -1 && ly < lev_fieldy+1 && BorderElement != EL_EMPTY)
- DrawPreviewElement(xpos + x * preview_tilesize,
- ypos + y * preview_tilesize,
- getBorderElement(lx, ly), preview_tilesize);
+ int lx = from_x + x + (show_level_border ? -1 : 0);
+ int ly = from_y + y + (show_level_border ? -1 : 0);
+ int element = (IN_LEV_FIELD(lx, ly) ? level.field[lx][ly] :
+ getBorderElement(lx, ly));
+
+ DrawPreviewElement(xpos + x * preview_tilesize,
+ ypos + y * preview_tilesize,
+ element, preview_tilesize);