Fixed blasted pieces incorrectly updating key's castling rights
authorMajor Mink <themajormink@gmail.com>
Fri, 6 Aug 2021 12:08:03 +0000 (13:08 +0100)
committerFabian Fichter <ianfab@users.noreply.github.com>
Fri, 6 Aug 2021 14:29:15 +0000 (16:29 +0200)
src/position.cpp

index efcba0e..a809cd0 100644 (file)
@@ -1770,9 +1770,9 @@ void Position::do_move(Move m, StateInfo& newSt, bool givesCheck) {
           // Update castling rights if needed
           if (st->castlingRights && castlingRightsMask[bsq])
           {
-              int cr = castlingRightsMask[bsq];
-              k ^= Zobrist::castling[st->castlingRights & cr];
-              st->castlingRights &= ~cr;
+             k ^= Zobrist::castling[st->castlingRights];
+             st->castlingRights &= ~castlingRightsMask[bsq];
+             k ^= Zobrist::castling[st->castlingRights];
           }
       }
   }