Fix RxK castling from engine in variant seirawan
authorH.G.Muller <hgm@hgm-xboard.(none)>
Tue, 7 Nov 2017 20:53:01 +0000 (21:53 +0100)
committerH.G.Muller <hgm@hgm-xboard.(none)>
Tue, 7 Nov 2017 20:53:01 +0000 (21:53 +0100)
The RxK notation for castling with gating at the Rook square was mistaken
for a non-compliant castling notation in games without Fischer castling,
and corrected to the compliant notation by adjusting the to-square, assumed
to be the Rook. But this backfired for RxK, where it is the King. Now
castlings with the to-square on the central file are exempted from this
correction.

backend.c

index 0328a58..c531656 100644 (file)
--- a/backend.c
+++ b/backend.c
@@ -9057,7 +9057,7 @@ FakeBookMove: // [HGM] book: we jump here to simulate machine moves after book h
                 GameEnds(cps->twoMachinesColor[0] == 'w' ? BlackWins : WhiteWins,
                            buf1, GE_XBOARD);
                return;
-           } else if(!appData.fischerCastling)
+           } else if(!appData.fischerCastling && toX != BOARD_WIDTH>>1)
            /* [HGM] Kludge to handle engines that send FRC-style castling
               when they shouldn't (like TSCP-Gothic) */
            switch(moveType) {