X-Git-Url: https://git.sesse.net/?p=stockfish;a=blobdiff_plain;f=src%2Fuci.cpp;h=6593d5ad25a6fe71f14b9b2c57f0c6071285f42e;hp=5e85098504d30c3a4ecbc8d7cce412f265e28ac5;hb=fca74b18825b72fa262b927b56130e7024a7272b;hpb=6afcfd00f29973f3169dae18aa439f90c2614256 diff --git a/src/uci.cpp b/src/uci.cpp index 5e850985..6593d5ad 100644 --- a/src/uci.cpp +++ b/src/uci.cpp @@ -49,10 +49,10 @@ namespace { typedef istringstream UCIParser; // Local functions - void set_option(UCIParser& uip); - void set_position(Position& pos, UCIParser& uip); - bool go(Position& pos, UCIParser& uip); - void perft(Position& pos, UCIParser& uip); + void set_option(UCIParser& up); + void set_position(Position& pos, UCIParser& up); + bool go(Position& pos, UCIParser& up); + void perft(Position& pos, UCIParser& up); } @@ -63,7 +63,7 @@ namespace { bool execute_uci_command(const string& cmd) { - static Position pos(StartPositionFEN, 0); // The root position + static Position pos(StartPositionFEN, false, 0); // The root position UCIParser up(cmd); string token; @@ -84,7 +84,7 @@ bool execute_uci_command(const string& cmd) { cout << "uciok" << endl; } else if (token == "ucinewgame") - pos.from_fen(StartPositionFEN); + pos.from_fen(StartPositionFEN, false); else if (token == "isready") cout << "readyok" << endl; @@ -147,7 +147,7 @@ namespace { if (token == "startpos") { - pos.from_fen(StartPositionFEN); + pos.from_fen(StartPositionFEN, false); if (!(up >> token)) return; } @@ -159,7 +159,7 @@ namespace { fen += token; fen += ' '; } - pos.from_fen(fen); + pos.from_fen(fen, Options["UCI_Chess960"].value()); } if (token != "moves") @@ -171,11 +171,7 @@ namespace { while (up >> token) { move = move_from_uci(pos, token); - pos.do_move(move, st); - if (pos.rule_50_counter() == 0) - pos.reset_game_ply(); - - pos.inc_startpos_ply_counter(); //FIXME: make from_fen to support this and rule50 + pos.do_setup_move(move, st); } // Our StateInfo st is about going out of scope so copy // its content inside pos before it disappears. @@ -287,7 +283,8 @@ namespace { void perft(Position& pos, UCIParser& up) { - int depth, tm, n; + int depth, tm; + int64_t n; if (!(up >> depth)) return;