assert(pos.is_ok());
- Bitboard pinned = pos.pinned_pieces(pos.side_to_move());
-
if (pos.is_check())
return generate_evasions(pos, mlist);
// Remove illegal moves from the list
for (int i = 0; i < n; i++)
- if (!pos.pl_move_is_legal(mlist[i].move, pinned))
+ if (!pos.pl_move_is_legal(mlist[i].move))
mlist[i--].move = mlist[--n].move;
return n;
Color them = opposite_color(us);
Square from = move_from(m);
Piece pc = pos.piece_on(from);
- Bitboard pinned = pos.pinned_pieces(us);
// If the from square is not occupied by a piece belonging to the side to
// move, the move is obviously not legal.
assert(pos.piece_on(to - pawn_push(us)) == piece_of_color_and_type(them, PAWN));
// The move is pseudo-legal, check if it is also legal
- return pos.pl_move_is_legal(m, pinned);
+ return pos.pl_move_is_legal(m);
}
// Castling moves
return false;
}
// The move is pseudo-legal, check if it is also legal
- return pos.pl_move_is_legal(m, pinned);
+ return pos.pl_move_is_legal(m);
}
// Luckly we can handle all the other pieces in one go
return ( pos.piece_attacks_square(pos.piece_on(from), from, to)
- && pos.pl_move_is_legal(m, pinned)
+ && pos.pl_move_is_legal(m)
&& !move_promotion(m));
}