From: Fabian Fichter Date: Sat, 22 May 2021 12:00:27 +0000 (+0200) Subject: Merge official-stockfish/master X-Git-Url: http://winboard.nl/cgi-bin?a=commitdiff_plain;h=842dd436147a6e8483b69d5c9affdb035c2d26ea;p=fairystockfish.git Merge official-stockfish/master No functional change. --- 842dd436147a6e8483b69d5c9affdb035c2d26ea diff --cc src/movegen.cpp index 8a82ff8,c5d76af..1694244 --- a/src/movegen.cpp +++ b/src/movegen.cpp @@@ -353,19 -223,8 +353,19 @@@ namespace target = ~pos.pieces(); break; case EVASIONS: + { + if (pos.checkers() & pos.non_sliding_riders()) + { + target = ~pos.pieces(Us); + break; + } - Square checksq = lsb(pos.checkers()); - target = between_bb(pos.square(Us), checksq) | checksq; + target = between_bb(pos.square(Us), lsb(pos.checkers())) | pos.checkers(); + // Leaper attacks can not be blocked ++ Square checksq = lsb(pos.checkers()); + if (LeaperAttacks[~Us][type_of(pos.piece_on(checksq))][checksq] & pos.square(Us)) - target = square_bb(checksq); ++ target = pos.checkers(); break; + } case NON_EVASIONS: target = ~pos.pieces(Us); break; diff --cc src/uci.cpp index fd473d7,051ff2e..009a088 --- a/src/uci.cpp +++ b/src/uci.cpp @@@ -348,22 -277,7 +348,22 @@@ void UCI::loop(int argc, char* argv[]) else if (token == "d") sync_cout << pos << sync_endl; else if (token == "eval") trace_eval(pos); else if (token == "compiler") sync_cout << compiler_info() << sync_endl; + else if (token == "load") { load(is); argc = 1; } // continue reading stdin + else if (token == "check") check(is); + // UCI-Cyclone omits the "position" keyword + else if (token == "fen" || token == "startpos") + { +#ifdef LARGEBOARDS + if (Options["Protocol"] == "uci" && Options["UCI_Variant"] == "chess") + { + Options["Protocol"].set_default("ucicyclone"); + Options["UCI_Variant"].set_default("xiangqi"); + } +#endif + is.seekg(0); + position(pos, is, states); + } - else + else if (!token.empty() && token[0] != '#') sync_cout << "Unknown command: " << cmd << sync_endl; } while (token != "quit" && argc == 1); // Command line args are one-shot