From: Fabian Fichter Date: Wed, 20 Feb 2019 21:50:33 +0000 (+0100) Subject: Fix placement chess in large-board version X-Git-Url: http://winboard.nl/cgi-bin?a=commitdiff_plain;h=e738834c9dc15d083244a6f4af0fc8cdaa29d42d;p=fairystockfish.git Fix placement chess in large-board version --- diff --git a/src/position.cpp b/src/position.cpp index 6f88c07..f41bf8f 100644 --- a/src/position.cpp +++ b/src/position.cpp @@ -767,7 +767,7 @@ bool Position::legal(Move m) const { { if (type_of(moved_piece(m)) != BISHOP) { - Bitboard remaining = drop_region(us) & ~pieces() & ~SquareBB[to]; + Bitboard remaining = drop_region(us) & ~pieces() & ~SquareBB[to] & board_bb(); // Are enough squares available to drop bishops on opposite colors? if ( (!( DarkSquares & pieces(us, BISHOP)) && ( DarkSquares & remaining)) + (!(~DarkSquares & pieces(us, BISHOP)) && (~DarkSquares & remaining)) < count_in_hand(us, BISHOP))