X-Git-Url: https://git.sesse.net/?p=stockfish;a=blobdiff_plain;f=src%2Fnotation.cpp;h=a26db6ff934c04434e16e431b7981dcc31217bcb;hp=eb3c46a0244904e63588ef821b1e5714ffd5d468;hb=f0db6a6c0b82a586;hpb=520e680278964931abcaf3e1ab89b24423777999 diff --git a/src/notation.cpp b/src/notation.cpp index eb3c46a0..a26db6ff 100644 --- a/src/notation.cpp +++ b/src/notation.cpp @@ -75,7 +75,7 @@ const string move_to_uci(Move m, bool chess960) { string move = square_to_string(from) + square_to_string(to); if (type_of(m) == PROMOTION) - move += PieceToChar[promotion_type(m) + 7]; // Lower case + move += PieceToChar[make_piece(BLACK, promotion_type(m))]; // Lower case return move; } @@ -117,20 +117,21 @@ const string move_to_san(Position& pos, Move m) { Square from = from_sq(m); Square to = to_sq(m); Piece pc = pos.piece_on(from); + PieceType pt = type_of(pc); if (type_of(m) == CASTLE) san = to > from ? "O-O" : "O-O-O"; else { - if (type_of(pc) != PAWN) + if (pt != PAWN) { - san = PieceToChar[pc]; + san = PieceToChar[pt]; // Upper case // Disambiguation if we have more then one piece with destination 'to' // note that for pawns is not needed because starting file is explicit. ambiguousMove = ambiguousFile = ambiguousRank = false; - attackers = (pos.attacks_from(pc, to) & pos.pieces(us)) ^ from; + attackers = (pos.attacks_from(pc, to) & pos.pieces(us, pt)) ^ from; while (attackers) {