From: gbtami Date: Wed, 7 Aug 2019 11:58:05 +0000 (+0200) Subject: Fix updating gates on castling move X-Git-Url: http://winboard.nl/cgi-bin?a=commitdiff_plain;h=0f48768c5ecbc705f4a92096598ad748eaccc7f6;p=fairystockfish.git Fix updating gates on castling move --- diff --git a/src/position.cpp b/src/position.cpp index def94c0..1eede29 100644 --- a/src/position.cpp +++ b/src/position.cpp @@ -1296,8 +1296,8 @@ void Position::do_move(Move m, StateInfo& newSt, bool givesCheck) { { if (is_ok(from) && (gates(us) & from)) st->gatesBB[us] ^= from; - if (type_of(m) == CASTLING) - st->gatesBB[us] ^= to; + if (type_of(m) == CASTLING && (gates(us) & to_sq(m))) + st->gatesBB[us] ^= to_sq(m); if (gates(them) & to) st->gatesBB[them] ^= to; if (!count_in_hand(us, ALL_PIECES) && !captures_to_hand())