From 2a8953107181b4df6ff55d0ae214490575609f49 Mon Sep 17 00:00:00 2001 From: paramat Date: Thu, 26 Jan 2017 15:38:18 +0000 Subject: [PATCH] Dungeongen: Fix selection of diagonal corridors The do .. while loop is waiting for both dir.X and dir.Z to be non-zero, so should continue to loop if either dir.X or dir.Z are zero. The brackets present suggest this was intended to be OR not AND. --- src/dungeongen.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/dungeongen.cpp b/src/dungeongen.cpp index b8ee2b924..7825e9e2c 100644 --- a/src/dungeongen.cpp +++ b/src/dungeongen.cpp @@ -622,7 +622,7 @@ v3s16 rand_ortho_dir(PseudoRandom &random, bool diagonal_dirs) dir.Z = random.next() % 3 - 1; dir.Y = 0; dir.X = random.next() % 3 - 1; - } while ((dir.X == 0 && dir.Z == 0) && trycount < 10); + } while ((dir.X == 0 || dir.Z == 0) && trycount < 10); return dir; } else {