X-Git-Url: https://git.sesse.net/?p=stockfish;a=blobdiff_plain;f=src%2Fmovegen.cpp;h=154e69e2207dc504c718050d310254cd9f880da0;hp=ed204672378fa81edeaacf417494982c1ac36b6a;hb=d549497144ee2a704057e005d2bbe1fbc666ca7e;hpb=e56342ed002b2d567fbecd2e4432b881f1b244bc diff --git a/src/movegen.cpp b/src/movegen.cpp index ed204672..154e69e2 100644 --- a/src/movegen.cpp +++ b/src/movegen.cpp @@ -35,16 +35,14 @@ namespace { template MoveStack* generate_castle(const Position& pos, MoveStack* mlist, Color us) { - CastleRight cr = CastleRight((Side == KING_SIDE ? WHITE_OO : WHITE_OOO) << us); - - if (pos.castle_impeded(us, Side) || !pos.can_castle(cr)) + if (pos.castle_impeded(us, Side) || !pos.can_castle(make_castle_right(us, Side))) return mlist; // After castling, the rook and king final positions are the same in Chess960 // as they would be in standard chess. Square kfrom = pos.king_square(us); - Square kto = relative_square(us, Side == KING_SIDE ? SQ_G1 : SQ_C1); Square rfrom = pos.castle_rook_square(us, Side); + Square kto = relative_square(us, Side == KING_SIDE ? SQ_G1 : SQ_C1); Bitboard enemies = pos.pieces(~us); assert(!pos.in_check());