fixed graphics config option to support elements on non-black background
authorHolger Schemel <info@artsoft.org>
Wed, 3 Mar 2021 18:46:19 +0000 (19:46 +0100)
committerHolger Schemel <info@artsoft.org>
Wed, 3 Mar 2021 18:46:19 +0000 (19:46 +0100)
This change fixes graphical bugs for moving and falling elements when
using non-black background by using option "game.use_masked_elements".

This is a fix for commit bbf7eaa0.

src/tools.c

index b0df34409cfbc97772af22c78e8815c9ae6c3644..325f7e1c323f336a0d2de27bd74c5e637a398f1b 100644 (file)
@@ -2535,6 +2535,16 @@ void DrawScreenField(int x, int y)
     else
       DrawScreenElement(x, y, EL_EMPTY);
 
+    if (cut_mode != CUT_BELOW && game.use_masked_elements)
+    {
+      int dir = MovDir[lx][ly];
+      int newx = x + (dir == MV_LEFT ? -1 : dir == MV_RIGHT ? +1 : 0);
+      int newy = y + (dir == MV_UP   ? -1 : dir == MV_DOWN  ? +1 : 0);
+
+      if (IN_SCR_FIELD(newx, newy))
+       DrawScreenElement(newx, newy, EL_EMPTY);
+    }
+
     if (horiz_move)
       DrawScreenElementShifted(x, y, MovPos[lx][ly], 0, element, NO_CUTTING);
     else if (cut_mode == NO_CUTTING)