From fc17463a268f35460ef9d4d6679c6c1a09316872 Mon Sep 17 00:00:00 2001 From: Fabian Fichter Date: Mon, 14 Oct 2019 18:24:27 +0200 Subject: [PATCH] Set castling rights only if enabled Makes FEN parsing more robust and allows to support S-Chess without castling. --- src/position.cpp | 5 +++-- 1 files changed, 3 insertions(+), 2 deletions(-) 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())) { -- 1.7.0.4