X-Git-Url: http://winboard.nl/cgi-bin?a=blobdiff_plain;f=moves.h;h=d8f3953d82d757743f5258b977539e6c179f1f98;hb=d9f4b584106f4d7477158476ff792f6fa0b2630a;hp=032e988f65a90af05c8217692fd0dd79e44d25d7;hpb=91e0735ab1cbc57465e0252bc95b90bc2ab13caa;p=xboard.git diff --git a/moves.h b/moves.h index 032e988..d8f3953 100644 --- a/moves.h +++ b/moves.h @@ -5,7 +5,7 @@ * Massachusetts. * * Enhancements Copyright 1992-2001, 2002, 2003, 2004, 2005, 2006, - * 2007, 2008, 2009 Free Software Foundation, Inc. + * 2007, 2008, 2009, 2010, 2011 Free Software Foundation, Inc. * * Enhancements Copyright 2005 Alessandro Scotti * @@ -60,6 +60,7 @@ extern int PieceToNumber P((ChessSquare p)); extern void CopyBoard P((Board to, Board from)); extern int CompareBoards P((Board board1, Board board2)); extern char pieceToChar[(int)EmptySquare+1]; +extern char pieceNickName[(int)EmptySquare]; typedef void (*MoveCallback) P((Board board, int flags, ChessMove kind, int rf, int ff, int rt, int ft, @@ -104,7 +105,7 @@ 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 F_IGNORE_CHECK is set in the flags) omit moves that would leave the @@ -113,7 +114,7 @@ extern void GenPseudoLegal P((Board board, int flags, 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 @@ -157,6 +158,7 @@ typedef struct { int rf, ff, rt, ft; int promoChar; /* 'q' if a promotion and promoCharIn was NULLCHAR */ int count; /* Number of possibilities found */ + int captures; /* [HGM] oneclick: number of matching captures */ } DisambiguateClosure; /* Disambiguate a partially-known move */ @@ -169,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;