X-Git-Url: https://git.sesse.net/?p=stockfish;a=blobdiff_plain;f=src%2Fposition.cpp;h=2fc73b660d912898b9563f87a127ff682bf6d5e3;hp=fdf3e911e9db32250781f6f8287451cc6eccbedf;hb=95cfc0e3069e2bd573e37c42785a1d7b287295c2;hpb=9e1d142fddd2cf1a8287888a15994ccbaa547c45 diff --git a/src/position.cpp b/src/position.cpp index fdf3e911..2fc73b66 100644 --- a/src/position.cpp +++ b/src/position.cpp @@ -678,24 +678,23 @@ bool Position::move_is_capture(Move m) const { void Position::backup(UndoInfo& u) const { - u.castleRights = castleRights; - u.epSquare = epSquare; + for (Color c = WHITE; c <= BLACK; c++) + { + u.pinners[c] = pinners[c]; + u.pinned[c] = pinned[c]; + u.dcCandidates[c] = dcCandidates[c]; + } u.checkersBB = checkersBB; u.key = key; u.pawnKey = pawnKey; u.materialKey = materialKey; + u.castleRights = castleRights; u.rule50 = rule50; + u.epSquare = epSquare; u.lastMove = lastMove; u.mgValue = mgValue; u.egValue = egValue; u.capture = NO_PIECE_TYPE; - - for (Color c = WHITE; c <= BLACK; c++) - { - u.pinners[c] = pinners[c]; - u.pinned[c] = pinned[c]; - u.dcCandidates[c] = dcCandidates[c]; - } } @@ -704,24 +703,23 @@ void Position::backup(UndoInfo& u) const { void Position::restore(const UndoInfo& u) { - castleRights = u.castleRights; - epSquare = u.epSquare; + for (Color c = WHITE; c <= BLACK; c++) + { + pinners[c] = u.pinners[c]; + pinned[c] = u.pinned[c]; + dcCandidates[c] = u.dcCandidates[c]; + } checkersBB = u.checkersBB; key = u.key; pawnKey = u.pawnKey; materialKey = u.materialKey; + castleRights = u.castleRights; rule50 = u.rule50; + epSquare = u.epSquare; lastMove = u.lastMove; mgValue = u.mgValue; egValue = u.egValue; // u.capture is restored in undo_move() - - for (Color c = WHITE; c <= BLACK; c++) - { - pinners[c] = u.pinners[c]; - pinned[c] = u.pinned[c]; - dcCandidates[c] = u.dcCandidates[c]; - } }