mirror of
https://github.com/HChaZZY/Stockfish.git
synced 2025-12-21 01:27:16 +08:00
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 <mcostalba@gmail.com>
This commit is contained in:
@@ -423,7 +423,7 @@ inline bool Position::move_is_passed_pawn_push(Move m) const {
|
|||||||
}
|
}
|
||||||
|
|
||||||
inline int Position::startpos_ply_counter() const {
|
inline int Position::startpos_ply_counter() const {
|
||||||
return startPosPly;
|
return startPosPly + st->pliesFromNull; // HACK
|
||||||
}
|
}
|
||||||
|
|
||||||
inline bool Position::opposite_colored_bishops() const {
|
inline bool Position::opposite_colored_bishops() const {
|
||||||
|
|||||||
@@ -39,7 +39,7 @@ namespace {
|
|||||||
|
|
||||||
// Keep track of position keys along the setup moves (from start position to the
|
// 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
|
// 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;
|
StateInfo StateRingBuf[102], *SetupState = StateRingBuf;
|
||||||
|
|
||||||
// UCIParser is a class for parsing UCI input. The class
|
// UCIParser is a class for parsing UCI input. The class
|
||||||
|
|||||||
Reference in New Issue
Block a user