X-Git-Url: https://git.sesse.net/?p=stockfish;a=blobdiff_plain;f=src%2Fmovegen.cpp;h=f688bfef67054c138a5d96c72ef3a1478150fb9f;hp=8cb5d4d67280f5a5431eabd0e767e888d1b29b8d;hb=97212bafc90f2c356488489db81cfdca3707039d;hpb=d08a8d76f7d5b992d65614714cc76e3f13e00dfc diff --git a/src/movegen.cpp b/src/movegen.cpp index 8cb5d4d6..f688bfef 100644 --- a/src/movegen.cpp +++ b/src/movegen.cpp @@ -244,7 +244,7 @@ MoveStack* generate_evasions(const Position& pos, MoveStack* mlist) { case QUEEN: // In case of a queen remove also squares attacked in the other direction to // avoid possible illegal moves when queen and king are on adjacent squares. - if (direction_is_straight(checksq, ksq)) + if (RookPseudoAttacks[checksq] & (1ULL << ksq)) sliderAttacks |= RookPseudoAttacks[checksq] | pos.attacks_from(checksq); else sliderAttacks |= BishopPseudoAttacks[checksq] | pos.attacks_from(checksq); @@ -562,7 +562,7 @@ namespace { if (Type == CHECK) { - // Condider only pawn moves which give direct checks + // Consider only pawn moves which give direct checks b1 &= pos.attacks_from(ksq, Them); b2 &= pos.attacks_from(ksq, Them); @@ -659,7 +659,7 @@ namespace { Color us = pos.side_to_move(); - if ( (Side == KING_SIDE && pos.can_castle_kingside(us)) + if ( (Side == KING_SIDE && pos.can_castle_kingside(us)) ||(Side == QUEEN_SIDE && pos.can_castle_queenside(us))) { Color them = opposite_color(us);