From: Marco Costalba Date: Sun, 24 Jul 2011 04:59:16 +0000 (+0100) Subject: Fix startpos_ply_counter() regression X-Git-Url: https://git.sesse.net/?p=stockfish;a=commitdiff_plain;h=fc290dc30b1f6a50fd5fd6732c276ff76305f2aa;hp=5f7eb20090ccd04b2a7d439b723ed58591dcc7e8 Fix startpos_ply_counter() regression 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 --- diff --git a/src/position.h b/src/position.h index a933c3fa..695ad98d 100644 --- a/src/position.h +++ b/src/position.h @@ -423,7 +423,7 @@ inline bool Position::move_is_passed_pawn_push(Move m) const { } inline int Position::startpos_ply_counter() const { - return startPosPly; + return startPosPly + st->pliesFromNull; // HACK } inline bool Position::opposite_colored_bishops() const { diff --git a/src/uci.cpp b/src/uci.cpp index 813c40f7..4d68c86a 100644 --- a/src/uci.cpp +++ b/src/uci.cpp @@ -39,7 +39,7 @@ namespace { // 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