X-Git-Url: http://winboard.nl/cgi-bin?a=blobdiff_plain;f=backend.c;h=57155b3cbcd0f816224e7e8004bccf2a970eb0bb;hb=8abb29a1624309afe03630a85c507854b862f131;hp=21ea33310ff4c972daa971ae544d45f843649ad0;hpb=9798d0e093e1ea35cbea11b5f0846d09d1e1ba34;p=xboard.git diff --git a/backend.c b/backend.c index 21ea333..57155b3 100644 --- a/backend.c +++ b/backend.c @@ -9453,8 +9453,7 @@ ApplyMove (int fromX, int fromY, int toX, int toY, int promoChar, Board board) ) { /* white pawn promotion */ board[toY][toX] = CharToPiece(ToUpper(promoChar)); - if((gameInfo.variant==VariantBughouse || gameInfo.variant==VariantCrazyhouse) - && PieceToChar(PROMOTED board[toY][toX]) == '~') /* [HGM] use shadow piece (if available) */ + if(board[toY][toX] < WhiteCannon && PieceToChar(PROMOTED board[toY][toX]) == '~') /* [HGM] use shadow piece (if available) */ board[toY][toX] = (ChessSquare) (PROMOTED board[toY][toX]); board[fromY][fromX] = EmptySquare; } else if ((fromY >= BOARD_HEIGHT>>1) @@ -9514,8 +9513,7 @@ ApplyMove (int fromX, int fromY, int toX, int toY, int promoChar, Board board) ) { /* black pawn promotion */ board[toY][toX] = CharToPiece(ToLower(promoChar)); - if((gameInfo.variant==VariantBughouse || gameInfo.variant==VariantCrazyhouse) - && PieceToChar(PROMOTED board[toY][toX]) == '~') /* [HGM] use shadow piece (if available) */ + if(board[toY][toX] < BlackCannon && PieceToChar(PROMOTED board[toY][toX]) == '~') /* [HGM] use shadow piece (if available) */ board[toY][toX] = (ChessSquare) (PROMOTED board[toY][toX]); board[fromY][fromX] = EmptySquare; } else if ((fromY < BOARD_HEIGHT>>1)