fixed bug when rotating beamer using new laser bitmap (MM engine)
authorHolger Schemel <info@artsoft.org>
Mon, 10 Apr 2017 06:31:27 +0000 (08:31 +0200)
committerHolger Schemel <info@artsoft.org>
Fri, 23 Mar 2018 22:21:12 +0000 (23:21 +0100)
src/game_mm/mm_game.c

index 5a9470999aa3bd2a1119034cb86e1b540f30b608..55dc30bdc637212042210606c7ee91c98c2e7e55 100644 (file)
@@ -1229,6 +1229,11 @@ void DrawLaser(int start_edge, int mode)
               last_num_edges, start_edge);
 #endif
 
+      // special case when rotating first beamer: delete laser edge on beamer
+      // (but do not start scanning on previous edge to prevent mirror sound)
+      if (last_num_edges - start_edge == 1 && start_edge > 0)
+       DrawLaserLines(&laser.edge[start_edge - 1], 2, DL_LASER_DISABLED);
+
       /* delete first segment from start to the first beamer */
       DrawLaserExt(start_edge, last_num_edges - start_edge, DL_LASER_DISABLED);
     }