From: Fabian Fichter Date: Sat, 13 Nov 2021 12:15:07 +0000 (+0100) Subject: Fix castling rights for passing moves X-Git-Url: http://winboard.nl/cgi-bin?a=commitdiff_plain;h=08328741302d6bdb116dc1bd29823462007ffe27;p=fairystockfish.git Fix castling rights for passing moves --- diff --git a/src/position.cpp b/src/position.cpp index 3a06a42..239d961 100644 --- a/src/position.cpp +++ b/src/position.cpp @@ -1475,7 +1475,7 @@ void Position::do_move(Move m, StateInfo& newSt, bool givesCheck) { } // Update castling rights if needed - if (type_of(m) != DROP && st->castlingRights && (castlingRightsMask[from] | castlingRightsMask[to])) + if (type_of(m) != DROP && !is_pass(m) && st->castlingRights && (castlingRightsMask[from] | castlingRightsMask[to])) { k ^= Zobrist::castling[st->castlingRights]; st->castlingRights &= ~(castlingRightsMask[from] | castlingRightsMask[to]);