(svn r11590) -Fix (r11193): IsSlopeRefused() result was half wrong

This commit is contained in:
glx 2007-12-07 21:16:38 +00:00
parent c3ae7faa13
commit 7e7606b0d3

View File

@ -1184,14 +1184,14 @@ bool IsSlopeRefused(Slope current, Slope refused)
{
if (IsSteepSlope(current)) return true;
if (current != SLOPE_FLAT) {
if (refused & SLOPE_STEEP) return true;
if (IsSteepSlope(refused)) return true;
Slope t = ComplementSlope(current);
if (refused & 1 && (t & SLOPE_NW)) return false;
if (refused & 2 && (t & SLOPE_NE)) return false;
if (refused & 4 && (t & SLOPE_SW)) return false;
if (refused & 8 && (t & SLOPE_SE)) return false;
if (refused & SLOPE_W && (t & SLOPE_NW)) return true;
if (refused & SLOPE_S && (t & SLOPE_NE)) return true;
if (refused & SLOPE_E && (t & SLOPE_SW)) return true;
if (refused & SLOPE_N && (t & SLOPE_SE)) return true;
}
return false;