} GameMode;\r
\r
typedef enum {\r
- WhitePawn, WhiteKnight, WhiteBishop, WhiteRook, WhiteQueen, \r
-#ifdef FAIRY\r
/* [HGM] the order here is crucial for Crazyhouse & Shogi: */\r
/* only the first N pieces can go into the holdings, and */\r
- /* promotions in those variants shift P-W to E-M */\r
- WhiteFerz, WhiteWazir, WhiteAlfil, WhiteNightrider, WhiteCardinal,\r
- WhiteMarshall, WhiteGrasshopper, WhiteCannon, WhiteMan, WhiteUnicorn,\r
-#endif\r
- WhiteKing, BlackPawn, BlackKnight, BlackBishop, BlackRook, BlackQueen, \r
-#ifdef FAIRY\r
- BlackFerz, BlackWazir, BlackAlfil, BlackNightrider, BlackCardinal,\r
- BlackMarshall, BlackGrasshopper, BlackCannon, BlackMan, BlackUnicorn,\r
-#endif\r
- BlackKing,\r
+ /* promotions in those variants shift P-W to U-S */\r
+ WhitePawn, WhiteKnight, WhiteBishop, WhiteRook, WhiteQueen, \r
+ WhiteFerz, WhiteWazir, WhiteAlfil, WhiteMan, WhiteCannon, WhiteUnicorn,\r
+ WhiteNightrider, WhiteCardinal, WhiteMarshall, WhiteGrasshopper,\r
+ WhiteSilver, WhiteKing,\r
+ BlackPawn, BlackKnight, BlackBishop, BlackRook, BlackQueen,\r
+ BlackFerz, BlackWazir, BlackAlfil, BlackMan, BlackCannon, BlackUnicorn,\r
+ BlackNightrider, BlackCardinal, BlackMarshall, BlackGrasshopper,\r
+ BlackSilver, BlackKing,\r
EmptySquare, \r
- ClearBoard, WhitePlay, BlackPlay /*for use on EditPosition menus*/\r
+ ClearBoard, WhitePlay, BlackPlay, PromotePiece, DemotePiece /*for use on EditPosition menus*/\r
} ChessSquare;\r
\r
/* [HGM] some macros that can be used as prefixes to convert piece types */\r
#define WHITE_TO_BLACK (int)BlackPawn - (int)WhitePawn + (int)\r
#define BLACK_TO_WHITE (int)WhitePawn - (int)BlackPawn + (int)\r
-#define PROMOTED (int)WhiteAlfil - (int)WhitePawn + (int)\r
-#define DEMOTED (int)WhitePawn - (int)WhiteAlfil + (int)\r
+#define PROMOTED (int)WhiteUnicorn - (int)WhitePawn + (int)\r
+#define DEMOTED (int)WhitePawn - (int)WhiteUnicorn + (int)\r
#define SHOGI (int)EmptySquare + (int)\r
\r
\r
BlackHSideCastleFR, BlackASideCastleFR, \r
WhitePromotionKnight, WhitePromotionBishop,\r
WhitePromotionRook, WhitePromotionQueen, WhitePromotionKing,\r
-#ifdef FAIRY\r
WhitePromotionChancellor, WhitePromotionArchbishop,\r
-#endif\r
BlackPromotionKnight, BlackPromotionBishop,\r
BlackPromotionRook, BlackPromotionQueen, BlackPromotionKing,\r
-#ifdef FAIRY\r
BlackPromotionChancellor, BlackPromotionArchbishop,\r
-#endif\r
WhiteCapturesEnPassant, BlackCapturesEnPassant,\r
WhiteDrop, BlackDrop, \r
NormalMove, AmbiguousMove, IllegalMove, ImpossibleMove,\r
int NrRanks;\r
int holdingsSize;\r
int matchPause;\r
+ char * pieceToCharTable;\r
+ Boolean allWhite;\r
+ Boolean upsideDown;\r
Boolean alphaRank;\r
Boolean testClaims;\r
Boolean checkMates;\r
Boolean trivialDraws;\r
int ruleMoves;\r
int drawRepeats;\r
- char * pieceToCharTable;\r
\r
#if ZIPPY\r
char *zippyLines;\r
\r
#endif\r
\r
-/* extern int holdingsWidth; \r
-extern int holdingsHeight; \r
-/*extern int holdings[(int) EmptySquare];*/\r