#include <string>
#include <sstream>
+#include "history.h"
#include "movepick.h"
#include "san.h"
namespace {
- /// Types
-
enum Ambiguity {
AMBIGUITY_NONE,
AMBIGUITY_FILE,
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);
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
assert(pos.is_ok());
- MovePicker mp = MovePicker(pos, false, MOVE_NONE, OnePly);
+ MovePicker mp = MovePicker(pos, MOVE_NONE, OnePly, H);
// Castling moves
if (movestr == "O-O-O" || movestr == "O-O-O+")
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))))
{
if (type_of_piece(pc) == KING)
return AMBIGUITY_NONE;
- MovePicker mp = MovePicker(pos, false, MOVE_NONE, OnePly);
+ MovePicker mp = MovePicker(pos, MOVE_NONE, OnePly, H);
Move mv, moveList[8];
int n = 0;