#include "movepick.h"
#include "san.h"
+extern SearchStack EmptySearchStack;
////
//// Local definitions
Move move_from_san(Position &pos, const std::string &movestr) {
assert(pos.is_ok());
- MovePicker mp = MovePicker(pos, false, MOVE_NONE, MOVE_NONE, MOVE_NONE,
- MOVE_NONE, OnePly);
+ MovePicker mp = MovePicker(pos, false, MOVE_NONE, EmptySearchStack, OnePly);
// Castling moves
if(movestr == "O-O-O") {
Move m;
while((m = mp.get_next_move()) != MOVE_NONE)
- if(move_is_long_castle(m) && pos.move_is_legal(m))
+ if(move_is_long_castle(m) && pos.pl_move_is_legal(m))
return m;
return MOVE_NONE;
}
else if(movestr == "O-O") {
Move m;
while((m = mp.get_next_move()) != MOVE_NONE)
- if(move_is_short_castle(m) && pos.move_is_legal(m))
+ if(move_is_short_castle(m) && pos.pl_move_is_legal(m))
return m;
return MOVE_NONE;
}
if(type_of_piece(pc) == KING)
return AMBIGUITY_NONE;
- MovePicker mp = MovePicker(pos, false, MOVE_NONE, MOVE_NONE, MOVE_NONE,
- MOVE_NONE, OnePly);
+ MovePicker mp = MovePicker(pos, false, MOVE_NONE, EmptySearchStack, OnePly);
Move mv, moveList[8];
int i, j, n;
n = 0;
while((mv = mp.get_next_move()) != MOVE_NONE)
if(move_to(mv) == to && pos.piece_on(move_from(mv)) == pc
- && pos.move_is_legal(mv))
+ && pos.pl_move_is_legal(mv))
moveList[n++] = mv;
if(n == 1)
return AMBIGUITY_NONE;