From: Fabian Fichter Date: Mon, 14 Oct 2019 16:24:27 +0000 (+0200) Subject: Set castling rights only if enabled X-Git-Url: http://winboard.nl/cgi-bin?a=commitdiff_plain;h=fc17463a268f35460ef9d4d6679c6c1a09316872;p=fairystockfish.git Set castling rights only if enabled Makes FEN parsing more robust and allows to support S-Chess without castling. --- diff --git a/src/position.cpp b/src/position.cpp index 9f3351e..0462ff3 100644 --- a/src/position.cpp +++ b/src/position.cpp @@ -384,11 +384,12 @@ Position& Position::set(const Variant* v, const string& fenStr, bool isChess960, continue; } - set_castling_right(c, rsq); + if (castling_enabled()) + set_castling_right(c, rsq); } // Set castling rights for 960 gating variants - if (gating()) + if (gating() && castling_enabled()) for (Color c : {WHITE, BLACK}) if ((gates(c) & pieces(KING)) && !castling_rights(c) && (count_in_hand(c, ALL_PIECES) || captures_to_hand())) {