X-Git-Url: http://winboard.nl/cgi-bin?a=blobdiff_plain;f=moves.c;h=545a09c1ffc5681995fd681b0f4dc40b28b1e0df;hb=59a4f18b662ddb7174efd46e4c76fff3e5caa796;hp=72671731c5a64cedc5da8603bca7062b16f2ebcb;hpb=f766634577a899f7aa7dbcdddc90700538ab9cde;p=xboard.git diff --git a/moves.c b/moves.c index 7267173..545a09c 100644 --- a/moves.c +++ b/moves.c @@ -180,7 +180,7 @@ ChessMove PromoCharToMoveType(whiteOnMove, promoChar) { /* [HGM] made dependent on CharToPiece to alow alternate piece letters */ ChessSquare piece = CharToPiece(whiteOnMove ? ToUpper(promoChar) : ToLower(promoChar) ); - + if(promoChar == '=') return whiteOnMove ? WhiteNonPromotion : BlackNonPromotion; if(promoChar == NULLCHAR) return NormalMove; switch(piece) { @@ -1097,7 +1097,7 @@ ChessMove LegalityTest(board, flags, rf, ff, rt, ft, promoChar) piece == WhiteKnight && rt > BOARD_HEIGHT-3) /* promotion mandatory */ cl.kind = promoChar == '=' ? IllegalMove : WhitePromotionKnight; else /* promotion optional, default is promote */ - cl.kind = promoChar == '=' ? NormalMove : WhitePromotionQueen; + cl.kind = promoChar == '=' ? WhiteNonPromotion : WhitePromotionQueen; } else cl.kind = (promoChar == NULLCHAR || promoChar == 'x' || promoChar == '=') ? NormalMove : IllegalMove; @@ -1107,7 +1107,7 @@ ChessMove LegalityTest(board, flags, rf, ff, rt, ft, promoChar) piece == BlackKnight && rt < 2 ) /* promotion obligatory */ cl.kind = promoChar == '=' ? IllegalMove : BlackPromotionKnight; else /* promotion optional, default is promote */ - cl.kind = promoChar == '=' ? NormalMove : BlackPromotionQueen; + cl.kind = promoChar == '=' ? BlackNonPromotion : BlackPromotionQueen; } else cl.kind = (promoChar == NULLCHAR || promoChar == 'x' || promoChar == '=') ? NormalMove : IllegalMove;