// The root position. This is set up when the user (or in practice, the GUI)
// sends the "position" UCI command. The root position is sent to the think()
// function when the program receives the "go" command.
- Position RootPosition;
+ Position RootPosition(StartPosition);
// Local functions
bool handle_command(const string& command);
}
// Our StateInfo st is about going out of scope so copy
// its content inside RootPosition before they disappear.
- RootPosition.saveState();
+ RootPosition.detach();
}
}
}
else if (token == "searchmoves")
{
int numOfMoves = 0;
- while (!uip.eof())
- {
- uip >> token;
+ while (uip >> token)
searchMoves[numOfMoves++] = move_from_string(RootPosition, token);
- }
+
searchMoves[numOfMoves] = MOVE_NONE;
}
}
- if (moveTime)
- infinite = true; // HACK
-
assert(RootPosition.is_ok());
return think(RootPosition, infinite, ponder, RootPosition.side_to_move(),
string token;
int depth, tm, n;
- Position pos = RootPosition;
+ Position pos(RootPosition);
if (!(uip >> depth))
return;