X-Git-Url: https://git.sesse.net/?p=stockfish;a=blobdiff_plain;f=src%2Fposition.cpp;h=6088477d1ef182c9490f215771ed5f139b4d080e;hp=d2aeb8221209ad391e54480e6442444d91d19749;hb=342fd6385bbe004b6152023eeba6362104664e23;hpb=e6c9ce635819957bce641a432b0675c5c033631b diff --git a/src/position.cpp b/src/position.cpp index d2aeb822..6088477d 100644 --- a/src/position.cpp +++ b/src/position.cpp @@ -415,20 +415,21 @@ const string Position::pretty(Move move) const { /// pieces, according to the call parameters. Pinned pieces protect our king and /// discovered check pieces attack the enemy king. -Bitboard Position::hidden_checkers(Square ksq, Color c, Color toMove) const { +Bitboard Position::hidden_checkers(Color c, Color kingColor) const { Bitboard b, pinners, result = 0; + Square ksq = king_square(kingColor); // Pinners are sliders that give check when a pinned piece is removed pinners = ( (pieces( ROOK, QUEEN) & PseudoAttacks[ROOK ][ksq]) - | (pieces(BISHOP, QUEEN) & PseudoAttacks[BISHOP][ksq])) & pieces(c); + | (pieces(BISHOP, QUEEN) & PseudoAttacks[BISHOP][ksq])) & pieces(~kingColor); while (pinners) { b = between_bb(ksq, pop_lsb(&pinners)) & pieces(); if (!more_than_one(b)) - result |= b & pieces(toMove); + result |= b & pieces(c); } return result; }