X-Git-Url: https://git.sesse.net/?p=stockfish;a=blobdiff_plain;f=src%2Fsan.cpp;h=0aa8318ed7b43968af9c4d018da2c3d69d53f190;hp=ecba7ab31a20b5a7bd77fec2419fc02b7d304820;hb=cd4604b05c2d61928b26ab50c5864c36ef1d3785;hpb=27619830d428693b4871ce58770705b30ba84c99 diff --git a/src/san.cpp b/src/san.cpp index ecba7ab3..0aa8318e 100644 --- a/src/san.cpp +++ b/src/san.cpp @@ -28,6 +28,7 @@ #include #include +#include "history.h" #include "movepick.h" #include "san.h" @@ -39,8 +40,6 @@ using std::string; namespace { - /// Types - enum Ambiguity { AMBIGUITY_NONE, AMBIGUITY_FILE, @@ -48,8 +47,7 @@ namespace { AMBIGUITY_BOTH }; - - /// Functions + const History H; // used as dummy argument for MovePicker c'tor Ambiguity move_ambiguity(const Position& pos, Move m); const string time_string(int milliseconds); @@ -115,10 +113,10 @@ const string move_to_san(const Position& pos, Move m) { san += "x"; } san += square_to_string(move_to(m)); - if (move_promotion(m)) + if (move_is_promotion(m)) { san += '='; - san += piece_type_to_char(move_promotion(m), true); + san += piece_type_to_char(move_promotion_piece(m), true); } } // Is the move check? We don't use pos.move_is_check(m) here, because @@ -143,7 +141,7 @@ Move move_from_san(const Position& pos, const string& movestr) { assert(pos.is_ok()); - MovePicker mp = MovePicker(pos, false, MOVE_NONE, EmptySearchStack, OnePly); + MovePicker mp = MovePicker(pos, MOVE_NONE, OnePly, H); // Castling moves if (movestr == "O-O-O" || movestr == "O-O-O+") @@ -275,7 +273,7 @@ Move move_from_san(const Position& pos, const string& movestr) { while ((m = mp.get_next_move()) != MOVE_NONE) if ( pos.type_of_piece_on(move_from(m)) == pt && move_to(m) == to - && move_promotion(m) == promotion + && move_promotion_piece(m) == promotion && (fromFile == FILE_NONE || fromFile == square_file(move_from(m))) && (fromRank == RANK_NONE || fromRank == square_rank(move_from(m)))) { @@ -367,7 +365,7 @@ namespace { if (type_of_piece(pc) == KING) return AMBIGUITY_NONE; - MovePicker mp = MovePicker(pos, false, MOVE_NONE, EmptySearchStack, OnePly); + MovePicker mp = MovePicker(pos, MOVE_NONE, OnePly, H); Move mv, moveList[8]; int n = 0;