moveIsCheck = pos.move_is_check(move, ci);
captureOrPromotion = pos.move_is_capture_or_promotion(move);
- movesSearched[moveCount++] = ss[ply].currentMove = move;
+ movesSearched[moveCount++] = move;
// Decide the new search depth
ext = extension(pos, move, true, captureOrPromotion, moveIsCheck, singleReply, mateThreat, &dangerous);
newDepth = depth - OnePly + ext;
+ // Update current move
+ ss[ply].currentMove = move;
+
// Make and search the move
pos.do_move(move, st, ci, moveIsCheck);
moveIsCheck = pos.move_is_check(move, ci);
captureOrPromotion = pos.move_is_capture_or_promotion(move);
- movesSearched[moveCount++] = ss[ply].currentMove = move;
+ movesSearched[moveCount++] = move;
// Decide the new search depth
ext = extension(pos, move, false, captureOrPromotion, moveIsCheck, singleReply, mateThreat, &dangerous);
newDepth = depth - OnePly + ext;
+ // Update current move
+ ss[ply].currentMove = move;
+
// Futility pruning
if ( useFutilityPruning
&& !dangerous