]> git.sesse.net Git - stockfish/blobdiff - src/move.cpp
Fix a compile error in opposite_colors()
[stockfish] / src / move.cpp
index a60506fd7c88cebb04ff323f2a92416f7434d698..74271b31428346238877a968029a488f759f8797 100644 (file)
@@ -46,7 +46,7 @@ const string move_to_uci(Move m, bool chess960) {
       to = from + (file_of(to) == FILE_H ? Square(2) : -Square(2));
 
   if (is_promotion(m))
-      promotion = char(tolower(piece_type_to_char(promotion_piece_type(m))));
+      promotion = char(tolower(piece_type_to_char(promotion_type(m))));
 
   return square_to_string(from) + square_to_string(to) + promotion;
 }
@@ -56,7 +56,10 @@ const string move_to_uci(Move m, bool chess960) {
 /// simple coordinate notation and returns an equivalent Move if any.
 /// Moves are guaranteed to be legal.
 
-Move move_from_uci(const Position& pos, const string& str) {
+Move move_from_uci(const Position& pos, string& str) {
+
+  if (str.length() == 5) // Junior could send promotion in uppercase
+      str[4] = char(tolower(str[4]));
 
   for (MoveList<MV_LEGAL> ml(pos); !ml.end(); ++ml)
       if (str == move_to_uci(ml.move(), pos.is_chess960()))
@@ -84,7 +87,7 @@ const string move_to_san(Position& pos, Move m) {
   bool ambiguousMove, ambiguousFile, ambiguousRank;
   Square sq, from = from_sq(m);
   Square to = to_sq(m);
-  PieceType pt = type_of(pos.piece_on(from));
+  PieceType pt = type_of(pos.piece_moved(m));
   string san;
 
   if (is_castle(m))
@@ -97,7 +100,7 @@ const string move_to_san(Position& pos, Move m) {
 
           // Disambiguation if we have more then one piece with destination 'to'
           // note that for pawns is not needed because starting file is explicit.
-          attackers = pos.attackers_to(to) & pos.pieces(pt, pos.side_to_move());
+          attackers = pos.attackers_to(to) & pos.pieces(pos.side_to_move(), pt);
           attackers ^= from;
           ambiguousMove = ambiguousFile = ambiguousRank = false;
 
@@ -142,7 +145,7 @@ const string move_to_san(Position& pos, Move m) {
       if (is_promotion(m))
       {
           san += '=';
-          san += piece_type_to_char(promotion_piece_type(m));
+          san += piece_type_to_char(promotion_type(m));
       }
   }