From 2a8953107181b4df6ff55d0ae214490575609f49 Mon Sep 17 00:00:00 2001
From: paramat <mat.gregory@virginmedia.com>
Date: Thu, 26 Jan 2017 15:38:18 +0000
Subject: 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 {
-- 
cgit v1.2.3