From: RainRat Date: Wed, 17 Apr 2024 15:11:50 +0000 (-0700) Subject: wallOrMove bug fix (#763) X-Git-Url: http://winboard.nl/cgi-bin?a=commitdiff_plain;h=c0a94e4231633b6894e1ea313bdcf253b0d0019c;p=fairystockfish.git wallOrMove bug fix (#763) --- diff --git a/src/position.cpp b/src/position.cpp index ade4798..b9f34be 100644 --- a/src/position.cpp +++ b/src/position.cpp @@ -1558,7 +1558,7 @@ void Position::do_move(Move m, StateInfo& newSt, bool givesCheck) { Piece captured = piece_on(type_of(m) == EN_PASSANT ? capture_square(to) : to); if (to == from) { - assert((type_of(m) == PROMOTION && sittuyin_promotion()) || (is_pass(m) && pass(us))); + assert((type_of(m) == PROMOTION && sittuyin_promotion()) || (is_pass(m) && (pass(us) || var->wallOrMove ))); captured = NO_PIECE; } st->capturedpromoted = is_promoted(to); @@ -2128,7 +2128,7 @@ void Position::undo_move(Move m) { assert(type_of(m) == DROP || empty(from) || type_of(m) == CASTLING || is_gating(m) || (type_of(m) == PROMOTION && sittuyin_promotion()) - || (is_pass(m) && pass(us))); + || (is_pass(m) && (pass(us) || var->wallOrMove))); assert(type_of(st->capturedPiece) != KING); // Reset wall squares