changes from H.G. Muller; version 4.3.14
[xboard.git] / moves.h
diff --git a/moves.h b/moves.h
index 8324ef6..569fc89 100644 (file)
--- a/moves.h
+++ b/moves.h
@@ -50,6 +50,7 @@ extern ChessSquare PromoPiece P((ChessMove moveType));
 extern ChessMove PromoCharToMoveType P((int whiteOnMove, int promoChar));\r
 extern char PieceToChar P((ChessSquare p));\r
 extern ChessSquare CharToPiece P((int c));\r
+extern int PieceToNumber P((ChessSquare p));\r
 \r
 extern void CopyBoard P((Board to, Board from));\r
 extern int CompareBoards P((Board board1, Board board2));\r
@@ -72,6 +73,7 @@ typedef void (*MoveCallback) P((Board board, int flags, ChessMove kind,
 #define F_ATOMIC_CAPTURE 128    /* capturing piece explodes, destroying itself\r
                                   and all non-pawns on adjacent squares; \r
                                   destroying your own king is illegal */\r
+#define F_FRC_TYPE_CASTLING 256 /* generate castlings as captures of own Rook */\r
 \r
 /* Special epfile values. [HGM] positive values are non-reversible moves! */\r
 #define EP_NONE (-4)           /* [HGM] Tricky! order matters:            */\r
@@ -82,6 +84,7 @@ typedef void (*MoveCallback) P((Board board, int flags, ChessMove kind,
 #define EP_RULE_DRAW  (-14)\r
 #define EP_INSUF_DRAW  (-13)\r
 #define EP_DRAWS (-10)\r
+#define EP_BEROLIN_A 16        /* [HGM] berolina: add to file if pawn to be taken of a-side of e.p.file */\r
 \r
 /* Call callback once for each pseudo-legal move in the given\r
    position, except castling moves.  A move is pseudo-legal if it is\r