Fishy fix
authorH.G. Muller <h.g.muller@hccnet.nl>
Sat, 8 Jan 2011 23:24:17 +0000 (00:24 +0100)
committerArun Persaud <arun@nubati.net>
Tue, 11 Jan 2011 05:22:05 +0000 (21:22 -0800)
The move that delivers checkmate in two-machines mode is not animated
when adjudication is on. There then also is no highlighting of this move
Redrawing the board and calling ShowMove fixes it. Which is rather
strange, because ShowMove was already called in Adjudicate (when it
adjudicates), before GameEnds. For reasons that are not understood this
call to ShowMove() (which calls AnimateMove()) is not effective.

backend.c

index df586fd..9629342 100644 (file)
--- a/backend.c
+++ b/backend.c
@@ -7369,7 +7369,11 @@ FakeBookMove: // [HGM] book: we jump here to simulate machine moves after book h
             }
         }
 
-       if(Adjudicate(cps)) return; // [HGM] adjudicate: for all automatic game ends
+       if(Adjudicate(cps)) {
+           DrawPosition(FALSE, boards[currentMove = forwardMostMove-1]);
+           ShowMove(fromX, fromY, toX, toY); /*updates currentMove*/
+           return; // [HGM] adjudicate: for all automatic game ends
+       }
 
 #if ZIPPY
        if ((gameMode == IcsPlayingWhite || gameMode == IcsPlayingBlack) &&