From 86e159997cb94926bd91ee3c2f11f761ee69db5b Mon Sep 17 00:00:00 2001 From: Marco Costalba Date: Sun, 12 Feb 2012 09:59:19 +0100 Subject: [PATCH] Don't reset 50-move counter after castling Rule says should be reset only after a capture and/or a pawn move. This incredible bug was here since Glaurung times ! Spotted by Kiriakos. No functional change in the test bench because we don't reach the 50 moves limits. Signed-off-by: Marco Costalba --- src/position.cpp | 5 +---- 1 file changed, 1 insertion(+), 4 deletions(-) diff --git a/src/position.cpp b/src/position.cpp index 5ee0107f..f50677bb 100644 --- a/src/position.cpp +++ b/src/position.cpp @@ -752,7 +752,7 @@ void Position::do_move(Move m, StateInfo& newSt, const CheckInfo& ci, bool moveI k ^= zobSideToMove; // Increment the 50 moves rule draw counter. Resetting it to zero in the - // case of non-reversible moves is taken care of later. + // case of a capture or a pawn move is taken care of later. st->rule50++; st->pliesFromNull++; @@ -1155,9 +1155,6 @@ void Position::do_castle_move(Move m) { st->castleRights &= castleRightsMask[kfrom]; st->key ^= zobCastle[st->castleRights]; - // Reset rule 50 counter - st->rule50 = 0; - // Update checkers BB st->checkersBB = attackers_to(king_square(~us)) & pieces(us); -- 2.39.2