X-Git-Url: http://winboard.nl/cgi-bin?a=blobdiff_plain;f=moves.h;h=569fc89a1a55a5639f6c7039e2492537d5bcba80;hb=86517e539f33650be656c482020a878fec0723c9;hp=8324ef6a10673b7f2da7dcfd612a5d41da44e915;hpb=7e4f4f5718bf4efee8be4abfc981d18cfd6f8438;p=xboard.git diff --git a/moves.h b/moves.h index 8324ef6..569fc89 100644 --- a/moves.h +++ b/moves.h @@ -50,6 +50,7 @@ extern ChessSquare PromoPiece P((ChessMove moveType)); extern ChessMove PromoCharToMoveType P((int whiteOnMove, int promoChar)); extern char PieceToChar P((ChessSquare p)); extern ChessSquare CharToPiece P((int c)); +extern int PieceToNumber P((ChessSquare p)); extern void CopyBoard P((Board to, Board from)); extern int CompareBoards P((Board board1, Board board2)); @@ -72,6 +73,7 @@ typedef void (*MoveCallback) P((Board board, int flags, ChessMove kind, #define F_ATOMIC_CAPTURE 128 /* capturing piece explodes, destroying itself 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 */ /* Special epfile values. [HGM] positive values are non-reversible moves! */ #define EP_NONE (-4) /* [HGM] Tricky! order matters: */ @@ -82,6 +84,7 @@ typedef void (*MoveCallback) P((Board board, int flags, ChessMove kind, #define EP_RULE_DRAW (-14) #define EP_INSUF_DRAW (-13) #define EP_DRAWS (-10) +#define EP_BEROLIN_A 16 /* [HGM] berolina: add to file if pawn to be taken of a-side of e.p.file */ /* Call callback once for each pseudo-legal move in the given position, except castling moves. A move is pseudo-legal if it is