fixed regression bug with bad playfield offset
authorHolger Schemel <info@artsoft.org>
Mon, 10 Apr 2023 11:20:16 +0000 (13:20 +0200)
committerHolger Schemel <info@artsoft.org>
Mon, 10 Apr 2023 11:27:52 +0000 (13:27 +0200)
This reverts commit a35cd127.

The bug introduced by the above commit was caused by a wrong comment
indicating that a certain offset was related to the playfield border,
which was wrong. In fact, this offset is related to the width of the
laser beam (to store the middle position of the tile the laser beam
touches, to be able to draw a variable-width laser beam later with a
size that is relative to the middle of the tile).

As the laser beam currently has a width of 4 pixels, this value has
to be set to 2 here.

src/game_mm/mm_tools.c

index 38ff743113684fb28e05a05ac88f20f01aeb7c46..48c99912b2a14a63bd6d1837300f2c34df76fe8c 100644 (file)
@@ -29,8 +29,8 @@ void SetDrawtoField_MM(int mode)
   // for convenience, absolute screen position to centered level playfield
   cSX = SX + dSX;
   cSY = SY + dSY;
-  cSX2 = SX + dSX + (SX - REAL_SX);    // including playfield border
-  cSY2 = SY + dSY + (SY - REAL_SY);    // including playfield border
+  cSX2 = SX + dSX + 2;         // including half laser line size
+  cSY2 = SY + dSY + 2;         // including half laser line size
 
   if (mode == DRAW_TO_BACKBUFFER)
   {