Fix setting of initial virginity on PGN read
authorH.G.Muller <hgm@hgm-xboard.(none)>
Wed, 13 Jan 2016 15:07:48 +0000 (16:07 +0100)
committerH.G.Muller <hgm@hgm-xboard.(none)>
Wed, 13 Jan 2016 15:07:48 +0000 (16:07 +0100)
The back-rank virginity bitmaps were not cleared in ParseFEN.

backend.c

index 3179ece..417d452 100644 (file)
--- a/backend.c
+++ b/backend.c
@@ -12020,7 +12020,7 @@ LoadGameOneMove (ChessMove readAhead)
       case BlackASideCastleFR:
       /* POP Fabien */
        if (appData.debugMode)
-         fprintf(debugFP, "Parsed %s into %s\n", yy_text, currentMoveString);
+         fprintf(debugFP, "Parsed %s into %s virgin=%x,%x\n", yy_text, currentMoveString, boards[forwardMostMove][TOUCHED_W], boards[forwardMostMove][TOUCHED_B]);
         fromX = currentMoveString[0] - AAA;
         fromY = currentMoveString[1] - ONE;
         toX = currentMoveString[2] - AAA;
@@ -18276,6 +18276,7 @@ ParseFEN (Board board, int *blackPlaysFirst, char *fen, Boolean autoSize)
 
     /* set defaults in case FEN is incomplete */
     board[EP_STATUS] = EP_UNKNOWN;
+    board[TOUCHED_W] = board[TOUCHED_B] = 0;
     for(i=0; i<nrCastlingRights; i++ ) {
         board[CASTLING][i] =
             appData.fischerCastling ? NoRights : initialRights[i];