X-Git-Url: http://winboard.nl/cgi-bin?a=blobdiff_plain;f=moves.h;h=0ec99239e65fcf4cde68e323a24a67d99fcc9db2;hb=739a44fd95050c7986678c41f655bc89cfce7f0d;hp=e81b105bed4c8aea59613d5033a538f0874fccf7;hpb=91d8e5853ca580769cc130aa6ea004869118d171;p=xboard.git diff --git a/moves.h b/moves.h index e81b105..0ec9923 100644 --- a/moves.h +++ b/moves.h @@ -77,6 +77,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 +88,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 +136,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,