From e09059c20e88a1abd8cecd5fcec05cee93377853 Mon Sep 17 00:00:00 2001 From: Anders Jenbo Date: Fri, 8 Jul 2022 03:45:14 +0200 Subject: [PATCH] Reuse DungeonMask for lockout in DRLG3 --- Source/levels/drlg_l3.cpp | 11 +++++------ 1 file changed, 5 insertions(+), 6 deletions(-) diff --git a/Source/levels/drlg_l3.cpp b/Source/levels/drlg_l3.cpp index 53614c886..df3b73e91 100644 --- a/Source/levels/drlg_l3.cpp +++ b/Source/levels/drlg_l3.cpp @@ -16,7 +16,6 @@ namespace devilution { namespace { int lockoutcnt; -bool lockout[DMAXX][DMAXY]; /** * A lookup table for the 16 possible patterns of a 2x2 area, @@ -1922,11 +1921,11 @@ void HallOfHeroes() void LockRectangle(int x, int y) { - if (!lockout[x][y]) { + if (!DungeonMask.test(x, y)) { return; } - lockout[x][y] = false; + DungeonMask.reset(x, y); lockoutcnt++; LockRectangle(x, y - 1); LockRectangle(x, y + 1); @@ -1936,6 +1935,8 @@ void LockRectangle(int x, int y) bool Lockout() { + DungeonMask.reset(); + int fx; int fy; @@ -1943,12 +1944,10 @@ bool Lockout() for (int j = 0; j < DMAXY; j++) { for (int i = 0; i < DMAXX; i++) { if (dungeon[i][j] != 0) { - lockout[i][j] = true; + DungeonMask.set(i, j); fx = i; fy = j; t++; - } else { - lockout[i][j] = false; } } }