From 26391846b3f27a23ec8561d5c86cf7bda534ddff Mon Sep 17 00:00:00 2001 From: Fabian Fichter Date: Sat, 20 Mar 2021 00:44:19 +0100 Subject: [PATCH] Fix en passant in FEN for grand in CECP Closes #282. --- src/position.cpp | 5 +++++ 1 files changed, 5 insertions(+), 0 deletions(-) diff --git a/src/position.cpp b/src/position.cpp index 5d42d30..9eef9ed 100644 --- a/src/position.cpp +++ b/src/position.cpp @@ -390,6 +390,11 @@ Position& Position::set(const Variant* v, const string& fenStr, bool isChess960, && ((ss >> row) && (row >= '1' && row <= '1' + max_rank()))) { st->epSquare = make_square(File(col - 'a'), Rank(row - '1')); +#ifdef LARGEBOARDS + // Consider different rank numbering in CECP + if (max_rank() == RANK_10 && Options["Protocol"] == "xboard") + st->epSquare += NORTH; +#endif // En passant square will be considered only if // a) side to move have a pawn threatening epSquare -- 1.7.0.4