X-Git-Url: http://winboard.nl/cgi-bin?a=blobdiff_plain;f=backend.c;h=f5ee8413535e1f6b43b54f5f6b5678244866f038;hb=47b01ac7b7d35856fae5bef60de3255e8f0d4ae5;hp=46e888e4630a02261423bc1d4118d2fc55667619;hpb=44545b87e12b58945eddcbc76c1827bead814aae;p=xboard.git diff --git a/backend.c b/backend.c index 46e888e..f5ee841 100644 --- a/backend.c +++ b/backend.c @@ -17204,7 +17204,7 @@ PositionToFEN (int move, char *overrideCastling, int moveCounts) *p++ = '+'; piece = (ChessSquare)(DEMOTED piece); } - *p++ = PieceToChar(piece); + *p++ = (piece == DarkSquare ? '*' : PieceToChar(piece)); if(p[-1] == '~') { /* [HGM] flag promoted pieces as '~' (Crazyhouse) */ p[-1] = PieceToChar((ChessSquare)(DEMOTED piece)); @@ -17395,6 +17395,8 @@ ParseFEN (Board board, int *blackPlaysFirst, char *fen) while (emptycount--) board[i][(j++)+gameInfo.holdingsWidth] = EmptySquare; #endif + } else if (*p == '*') { + board[i][(j++)+gameInfo.holdingsWidth] = DarkSquare; p++; } else if (isdigit(*p)) { emptycount = *p++ - '0'; while(isdigit(*p)) emptycount = 10*emptycount + *p++ - '0'; /* [HGM] allow > 9 */