X-Git-Url: http://winboard.nl/cgi-bin?a=blobdiff_plain;f=moves.h;h=5a7e9ae6eee034c87aab8d615142e09b64e5bee5;hb=1c03d229073e56dda9e5856db5adaae51576a3bb;hp=26d0930e0a099b163483361a9eb024281aded2cf;hpb=b382d988c6f886f3a49483df9e3e36de0b6b0824;p=xboard.git diff --git a/moves.h b/moves.h index 26d0930..5a7e9ae 100644 --- a/moves.h +++ b/moves.h @@ -5,7 +5,7 @@ * Massachusetts. * * Enhancements Copyright 1992-2001, 2002, 2003, 2004, 2005, 2006, - * 2007, 2008, 2009, 2010, 2011 Free Software Foundation, Inc. + * 2007, 2008, 2009, 2010, 2011, 2012, 2013 Free Software Foundation, Inc. * * Enhancements Copyright 2005 Alessandro Scotti * @@ -77,7 +77,7 @@ typedef void (*MoveCallback) P((Board board, int flags, ChessMove kind, #define F_IGNORE_CHECK 32 #define F_KRIEGSPIEL_CAPTURE 64 /* pawns can try to capture invisible pieces */ #define F_ATOMIC_CAPTURE 128 /* capturing piece explodes, destroying itself - and all non-pawns on adjacent squares; + and all non-pawns on adjacent squares; destroying your own king is illegal */ #define F_FRC_TYPE_CASTLING 256 /* generate castlings as captures of own Rook */ #define F_MANDATORY_CAPTURE 0x200 @@ -105,16 +105,16 @@ typedef void (*MoveCallback) P((Board board, int flags, ChessMove kind, Promotion moves generated are to Queen only. */ extern void GenPseudoLegal P((Board board, int flags, - MoveCallback callback, VOIDSTAR closure)); + MoveCallback callback, VOIDSTAR closure, ChessSquare filter)); -/* Like GenPseudoLegal, but include castling moves and (unless +/* Like GenPseudoLegal, but include castling moves and (unless F_IGNORE_CHECK is set in the flags) omit moves that would leave the king in check. The CASTLE_OK flags are true if castling is not yet ruled out by a move of the king or rook. Return TRUE if the player on move is currently in check and F_IGNORE_CHECK is not set. */ extern int GenLegal P((Board board, int flags, - MoveCallback callback, VOIDSTAR closure)); + MoveCallback callback, VOIDSTAR closure, ChessSquare filter)); /* If the player on move were to move from (rf, ff) to (rt, ft), would he leave himself in check? Or if rf == -1, is the player on move @@ -122,7 +122,7 @@ extern int GenLegal P((Board board, int flags, e.p. capture. The possibility of castling out of a check along the back rank is not accounted for (i.e., we still return nonzero), as this is illegal anyway. Return value is the number of times the - king is in check. */ + king is in check. */ extern int CheckTest P((Board board, int flags, int rf, int ff, int rt, int ft, int enPassant)); @@ -171,3 +171,5 @@ void Disambiguate P((Board board, int flags, DisambiguateClosure *closure)); ChessMove CoordsToAlgebraic P((Board board, int flags, int rf, int ff, int rt, int ft, int promoChar, char out[MOVE_LEN])); + +extern int quickFlag;