Further fix for placement castling
authorFabian Fichter <ianfab@users.noreply.github.com>
Fri, 12 Mar 2021 18:45:31 +0000 (19:45 +0100)
committerFabian Fichter <ianfab@users.noreply.github.com>
Fri, 12 Mar 2021 18:45:31 +0000 (19:45 +0100)
Also initialize castling king square on rook drops.

src/position.cpp

index 3622b30..b52b9c8 100644 (file)
@@ -1509,7 +1509,10 @@ void Position::do_move(Move m, StateInfo& newSt, bool givesCheck) {
           {
               if (   (file_of(to) == FILE_A || file_of(to) == max_file())
                   && piece_on(make_square(castling_king_file(), castling_rank(us))) == make_piece(us, castling_king_piece()))
+              {
+                  st->castlingKingSquare[us] = make_square(castling_king_file(), castling_rank(us));
                   set_castling_right(us, to);
+              }
           }
       }
   }