fix for Animation of castling moves in Chess960
authorH.G. Muller <h.g.muller@hccnet.nl>
Sun, 12 Jul 2009 17:04:30 +0000 (10:04 -0700)
committerArun Persaud <arun@nubati.net>
Sun, 12 Jul 2009 17:04:30 +0000 (10:04 -0700)
Animation of castling moves in Chess960 turned out to sometimes make the
king disappear from the display. For the time being I patched this in
xboard.c to suppress animation of FRC castling moves altogether. As FRC
castlings internally are represented as KxR, the to-square does not make
sense anyway, which made the animation look very weird even when it led
not to a king disappearance act. And the Rook move of a castling is never
animated.

xboard.c

index e9f983e..afc3e6d 100644 (file)
--- a/xboard.c
+++ b/xboard.c
@@ -9258,6 +9258,10 @@ AnimateMove(board, fromX, fromY, toX, toY)
   if (!appData.animate || appData.blindfold)
     return;
 
+  if(board[toY][toX] == WhiteRook && board[fromY][fromX] == WhiteKing || 
+     board[toY][toX] == BlackRook && board[fromY][fromX] == BlackKing) 
+       return; // [HGM] FRC: no animtion of FRC castlings, as to-square is not true to-square
+
   if (fromY < 0 || fromX < 0 || toX < 0 || toY < 0) return;
   piece = board[fromY][fromX];
   if (piece >= EmptySquare) return;