X-Git-Url: http://winboard.nl/cgi-bin?p=xboard.git;a=blobdiff_plain;f=moves.h;h=b2fcec6a8916695ecb5f1007db2e7fc504d23d05;hp=e81b105bed4c8aea59613d5033a538f0874fccf7;hb=d016fb202fe45795e630e22ba516e754cf694ea6;hpb=91d8e5853ca580769cc130aa6ea004869118d171 diff --git a/moves.h b/moves.h index e81b105..b2fcec6 100644 --- a/moves.h +++ b/moves.h @@ -1,11 +1,13 @@ /* * moves.h - Move generation and checking - * $Id: moves.h,v 2.1 2003/10/27 19:21:00 mann Exp $ * * Copyright 1991 by Digital Equipment Corporation, Maynard, - * Massachusetts. Enhancements Copyright - * 1992-2001,2002,2003,2004,2005,2006,2007,2008,2009 Free Software - * Foundation, Inc. + * Massachusetts. + * + * Enhancements Copyright 1992-2001, 2002, 2003, 2004, 2005, 2006, + * 2007, 2008, 2009 Free Software Foundation, Inc. + * + * Enhancements Copyright 2005 Alessandro Scotti * * The following terms apply to Digital Equipment Corporation's copyright * interest in XBoard: @@ -77,6 +79,7 @@ typedef void (*MoveCallback) P((Board board, int flags, ChessMove kind, 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 /* Special epfile values. [HGM] positive values are non-reversible moves! */ #define EP_NONE (-4) /* [HGM] Tricky! order matters: */ @@ -87,6 +90,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_WINS (-9) #define EP_BEROLIN_A 16 /* [HGM] berolina: add to file if pawn to be taken of a-side of e.p.file */ #define EP_CHECKMATE 100 /* [HGM] verify: record mates in epStatus for easy claim verification */ #define EP_STALEMATE -16 @@ -134,6 +138,12 @@ extern ChessMove LegalityTest P((Board board, int flags, int epfile, #define MT_CHECK 1 #define MT_CHECKMATE 2 #define MT_STALEMATE 3 +#define MT_STAINMATE 4 /* [HGM] xq: for games where being stalemated counts as a loss */ +#define MT_STEALMATE 5 /* [HGM] losers: for games where being stalemated counts as a win */ +#define MT_TRICKMATE 6 /* [HGM] losers: for games where being checkmated counts as a win */ +#define MT_BARE 7 /* [HGM] shatranj: for games where having bare king loses */ +#define MT_DRAW 8 /* [HGM] shatranj: other draws */ +#define MT_NOKING 9 /* [HGM] atomic: for games lost through king capture */ /* Return MT_NONE, MT_CHECK, MT_CHECKMATE, or MT_STALEMATE */ extern int MateTest P((Board board, int flags, int epfile,