From f2bdbde59c9d7595411bac5bc3a247b5336a3534 Mon Sep 17 00:00:00 2001 From: H.G.Muller Date: Sun, 3 Jan 2016 12:22:25 +0100 Subject: [PATCH] Fix FEN castling rank for Knightmate The newly introduced castlingRank array was not correctly set on reading a FEN for Knightmate, because it was looking for Kings rather than Unicorns. --- backend.c | 6 +++--- 1 files changed, 3 insertions(+), 3 deletions(-) diff --git a/backend.c b/backend.c index bc9aa62..cfbecf7 100644 --- a/backend.c +++ b/backend.c @@ -18094,7 +18094,7 @@ ParseFEN (Board board, int *blackPlaysFirst, char *fen, Boolean autoSize) int i, j, k, w=0, subst=0, shuffle=0, wKingRank = -1, bKingRank = -1; char *p, c; int emptycount, virgin[BOARD_FILES]; - ChessSquare piece; + ChessSquare piece, king = (gameInfo.variant == VariantKnightmate ? WhiteUnicorn : WhiteKing); p = fen; @@ -18163,8 +18163,8 @@ ParseFEN (Board board, int *blackPlaysFirst, char *fen, Boolean autoSize) p++; } board[i][(j++)+gameInfo.holdingsWidth] = piece; - if(piece == WhiteKing) wKingRank = i; - if(piece == BlackKing) bKingRank = i; + if(piece == king) wKingRank = i; + if(piece == WHITE_TO_BLACK king) bKingRank = i; } else { return FALSE; } -- 1.7.0.4