added limiting amoeba handling in EM engine to the playfield area
authorHolger Schemel <info@artsoft.org>
Sun, 2 Feb 2020 15:43:24 +0000 (16:43 +0100)
committerHolger Schemel <info@artsoft.org>
Tue, 19 May 2020 16:12:58 +0000 (18:12 +0200)
This does not make a difference now, but will do when support for
wrap-around levels is added (which will result in accessing tiles
of the regular playfield via linked playfield buffer columns that
will redirect off-playfield access to the opposite side of the
playfield).

src/game_em/logic.c

index 89de4ee59f8828232880b579cc0cebcee5d31d2e..d126415b774a3e8357a72a3189386f613a6b5cb7 100644 (file)
@@ -6337,7 +6337,9 @@ void logic_3(void)
     x = lev.left - 1 + (random >> 10) % CAVE_WIDTH;
     y = lev.top  - 1 + (random >> 20) % CAVE_HEIGHT;
 
-    Lamoeba(x, y);
+    if (x >= lev.left && x < lev.right &&
+       y >= lev.top  && y < lev.bottom)
+      Lamoeba(x, y);
 
     random = random * 129 + 1;
   }