X-Git-Url: http://winboard.nl/cgi-bin?a=blobdiff_plain;f=moves.h;h=bef3073be93679ab9ee35bbb93be8bff86643f50;hb=da8802ac4d06115296e0f8ba955ecf5570741d08;hp=152d78a03f0d7bf87b42c468530f18e0ff86ced0;hpb=a009a27e8c1e0bfa818f12fdcae675d0babc510a;p=xboard.git diff --git a/moves.h b/moves.h index 152d78a..bef3073 100644 --- a/moves.h +++ b/moves.h @@ -77,16 +77,18 @@ 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 /* Special epfile values. [HGM] positive values are non-reversible moves! */ -#define EP_NONE (-4) /* [HGM] Tricky! order matters: */ -#define EP_UNKNOWN (-1) /* >= EP_UNKNOWN spils rep-draw */ +#define EP_NONE (-6) /* [HGM] Tricky! order matters: */ +#define EP_UNKNOWN (-1) /* >= EP_UNKNOWN spoils rep-draw */ #define EP_CAPTURE (-2) /* <= EP_NONE is reversible move */ #define EP_PAWN_MOVE (-3) +#define EP_IRON_LION (-4) +#define EP_ROYAL_LION (-5) #define EP_REP_DRAW (-15) #define EP_RULE_DRAW (-14) #define EP_INSUF_DRAW (-13) @@ -107,7 +109,7 @@ typedef void (*MoveCallback) P((Board board, int flags, ChessMove kind, extern void GenPseudoLegal P((Board board, int flags, 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 @@ -122,7 +124,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)); @@ -172,4 +174,4 @@ ChessMove CoordsToAlgebraic P((Board board, int flags, int rf, int ff, int rt, int ft, int promoChar, char out[MOVE_LEN])); -extern int quickFlag; +extern int quickFlag, killX, killY;