+void Position::set_castle_right(Color c, Square rfrom) {
+
+ Square kfrom = king_square(c);
+ CastlingSide cs = kfrom < rfrom ? KING_SIDE : QUEEN_SIDE;
+ CastleRight cr = make_castle_right(c, cs);
+
+ st->castleRights |= cr;
+ castleRightsMask[kfrom] |= cr;
+ castleRightsMask[rfrom] |= cr;
+ castleRookSquare[c][cs] = rfrom;