// if (!IsTileFlat(tile) || !IsTileFlat(tile2)) {
// int z_slope1;
// Slope slope1 = GetTileSlope(tile, &z_slope1);
// int z_middle_corner_n = TileHeight(tile2);
// int z_middle_corner_s = TileHeight(TileAddByDiagDir(tile2, AxisToDiagDir(OtherAxis(axis))));
// int z_slope2;
// Slope slope2 = GetTileSlope(tile2, &z_slope2);
// /* Forbid these combinations. */
/**
* 3
* / \
* 2 2
* / \ /
* 1 1
* \ /
* 0
*/
// if (IsSteepSlope(slope1) || IsSteepSlope(slope2)) return_cmd_error(STR_ERROR_SITE_UNSUITABLE);
/**
* 1
* / \
* 0 0
* / \ /
* 1 1
* \ /
* 0
*/
// if (slope1 == SLOPE_NS && slope2 == SLOPE_EW || slope1 == SLOPE_EW && slope2 == SLOPE_NS) return_cmd_error(STR_ERROR_SITE_UNSUITABLE);
/**
* 1
* / \
* 0 1
* / \ /
* 0 1
* \ /
* 0
*/
// if (z_middle_corner_n != z_middle_corner_s && (IsSlopeWithThreeCornersRaised(slope1) && IsSlopeWithOneCornerRaised(slope2) || IsSlopeWithOneCornerRaised(slope1) && IsSlopeWithThreeCornersRaised(slope2))) return_cmd_error(STR_ERROR_SITE_UNSUITABLE);
/**
* 2
* / \
* 1 2
* / \ /
* 0 1
* \ /
* 0
*/
// if (slope1 == slope2 && IsInclinedSlope(slope1)) return_cmd_error(STR_ERROR_SITE_UNSUITABLE);
/**
* 1
* / \
* 0 1
* / \ /
* 0 0
* \ /
* 1
*/
// if (((IsSlopeWithOneCornerRaised(slope2) || IsSlopeWithThreeCornersRaised(slope2)) && IsInclinedSlope(slope1) && DiagDirToAxis(GetInclinedSlopeDirection(slope1)) == axis) || ((IsSlopeWithOneCornerRaised(slope1) || IsSlopeWithThreeCornersRaised(slope1)) && IsInclinedSlope(slope2) && DiagDirToAxis(GetInclinedSlopeDirection(slope2)) == axis)) return_cmd_error(STR_ERROR_SITE_UNSUITABLE);
/**
* 0
* / \
* 0 1
* / \ /
* 1 1
* \ /
* 0
*/
// if (((slope2 == SLOPE_EW || slope2 == SLOPE_NS) && IsInclinedSlope(slope1) && DiagDirToAxis(GetInclinedSlopeDirection(slope1)) == OtherAxis(axis)) || ((slope1 == SLOPE_EW || slope1 == SLOPE_NS) && IsInclinedSlope(slope2) && DiagDirToAxis(GetInclinedSlopeDirection(slope2)) == OtherAxis(axis))) return_cmd_error(STR_ERROR_SITE_UNSUITABLE);