]> git.sesse.net Git - stockfish/blobdiff - src/search.cpp
Fix PV output in Chess960
[stockfish] / src / search.cpp
index 29f573851186dda19a072f32127bc3418ec125a1..c018cbe3c49b7283d3d64de2f5ce235c79b74864 100644 (file)
@@ -212,7 +212,7 @@ namespace {
   int current_search_time(int set = 0);
   std::string score_to_uci(Value v, Value alpha, Value beta);
   std::string speed_to_uci(int64_t nodes);
-  std::string pv_to_uci(Move pv[], int pvNum);
+  std::string pv_to_uci(Move pv[], int pvNum, bool chess960);
   std::string depth_to_uci(Depth depth);
   void poll(const Position& pos);
   void wait_for_stop_or_ponderhit();
@@ -393,7 +393,7 @@ bool think(Position& pos, const SearchLimits& limits, Move searchMoves[]) {
   NodesSincePoll = 0;
   current_search_time(get_system_time());
   Limits = limits;
-  TimeMgr.init(Limits, pos.game_ply());
+  TimeMgr.init(Limits, pos.startpos_ply_counter());
 
   // Set output steram in normal or chess960 mode
   cout << set960(pos.is_chess960());
@@ -589,7 +589,7 @@ namespace {
                          << depth_to_uci(depth * ONE_PLY)
                          << score_to_uci(Rml[i].pv_score, alpha, beta)
                          << speed_to_uci(pos.nodes_searched())
-                         << pv_to_uci(Rml[i].pv, i + 1) << endl;
+                         << pv_to_uci(Rml[i].pv, i + 1, pos.is_chess960()) << endl;
 
             // In case of failing high/low increase aspiration window and research,
             // otherwise exit the fail high/low loop.
@@ -1778,11 +1778,11 @@ split_point_start: // At split points actual search starts from here
   // pv_to_uci() returns a string with information on the current PV line
   // formatted according to UCI specification.
 
-  std::string pv_to_uci(Move pv[], int pvNum) {
+  std::string pv_to_uci(Move pv[], int pvNum, bool chess960) {
 
     std::stringstream s;
 
-    s << " multipv " << pvNum << " pv ";
+    s << " multipv " << pvNum << " pv " << set960(chess960);
 
     for ( ; *pv != MOVE_NONE; pv++)
         s << *pv << " ";