From: paramat Date: Thu, 26 Jan 2017 15:38:18 +0000 (+0000) Subject: Dungeongen: Fix selection of diagonal corridors X-Git-Tag: 0.4.16~486 X-Git-Url: https://git.librecmc.org/?a=commitdiff_plain;h=2a8953107181b4df6ff55d0ae214490575609f49;p=oweals%2Fminetest.git 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. --- 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 {