Return the correct number of played plies at the end
of the setup moves. Currently it always returns 0 when
starting from start position, like in real games.
We fix this adding st->pliesFromNull that starts from 0
and is incremented after each setup move and is never
reset in the setup phase but only once search is started.
It is an hack because startpos_ply_counter() will return
different values during the search and is correct only
at the beginning of the search.
No functional change.
Signed-off-by: Marco Costalba <mcostalba@gmail.com>
}
inline int Position::startpos_ply_counter() const {
- return startPosPly;
+ return startPosPly + st->pliesFromNull; // HACK
}
inline bool Position::opposite_colored_bishops() const {
// Keep track of position keys along the setup moves (from start position to the
// position just before to start searching). This is needed by draw detection
- // where, due to 50 moves rule, we need to ckeck at most 100 plies back.
+ // where, due to 50 moves rule, we need to check at most 100 plies back.
StateInfo StateRingBuf[102], *SetupState = StateRingBuf;
// UCIParser is a class for parsing UCI input. The class