* Massachusetts.
*
* Enhancements Copyright 1992-2001, 2002, 2003, 2004, 2005, 2006,
- * 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014 Free Software Foundation, Inc.
+ * 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2015 Free Software Foundation, Inc.
*
* Enhancements Copyright 2005 Alessandro Scotti
*
#define EP_FILE CASTLING][(BOARD_FILES-3) /* [HGM] in upper rank */
#define EP_STATUS CASTLING][(BOARD_FILES-2) /* [HGM] in upper rank */
#define HOLDINGS_SET CASTLING][(BOARD_FILES-1) /* [HGM] in upper-right corner*/
-#define ONE ('1'-(BOARD_HEIGHT==10)) /* [HGM] foremost board rank */
+#define ONE ('1'-(BOARD_HEIGHT==10)-appData.rankOffset) /* [HGM] foremost board rank */
#define AAA ('a'-BOARD_LEFT) /* [HGM] leftmost board file */
#define VIRGIN_W 1 /* [HGM] flags in Board[VIRGIN][X] */
#define VIRGIN_B 2
#define BELLCHAR '\007'
#define NULLCHAR '\000'
#define FEATURE_TIMEOUT 10000 /*ms*/
+#define MATE_SCORE 100000
#define CLOCK_FONT 0
#define MESSAGE_FONT 1
WhiteFerz, WhiteAlfil, WhiteAngel, WhiteMarshall, WhiteWazir, WhiteMan,
WhiteCannon, WhiteNightrider, WhiteCardinal, WhiteDragon, WhiteGrasshopper,
WhiteSilver, WhiteFalcon, WhiteLance, WhiteCobra, WhiteUnicorn, WhiteLion,
- WhiteTokin, WhiteDagger, WhitePCardinal, WhitePDragon, WhiteCat,
+ WhiteButterfly, WhiteZebra, WhiteCamel, WhiteTower, WhiteWolf,
+ WhiteFlying, WhiteDuck, WhiteAxe, WhiteHat, WhiteGnu, WhiteCub,
+ WhiteTokin, WhiteClaw, WhitePCardinal, WhitePDragon, WhiteCat,
WhitePSword, WhiteMonarch, WhiteMother, WhiteNothing, WhitePRook, WhitePDagger,
WhiteDolphin, WhiteStag, WhiteHorned, WhiteEagle, WhiteSword,
- WhiteCrown, WhiteHCrown, WhiteHorse, WhiteDrunk, WhitePBishop, WhiteKing,
+ WhiteCrown, WhiteHCrown, WhiteHorse, WhiteDrunk, WhitePBishop,
+ WhiteWheel, WhitePKnight, WhiteWizard, WhiteCopper, WhiteIron, WhiteViking,
+ WhiteFlag, WhiteAmazon, WhiteWheer, WhiteShield, WhiteShierd,
+ WhiteKing,
BlackPawn, BlackKnight, BlackBishop, BlackRook, BlackQueen,
BlackFerz, BlackAlfil, BlackAngel, BlackMarshall, BlackWazir, BlackMan,
BlackCannon, BlackNightrider, BlackCardinal, BlackDragon, BlackGrasshopper,
BlackSilver, BlackFalcon, BlackLance, BlackCobra, BlackUnicorn, BlackLion,
- BlackTokin, BlackDagger, BlackPCardinal, BlackPDragon, BlackCat,
+ BlackButterfly, BlackZebra, BlackCamel, BlackTower, BlackWolf,
+ BlackFlying, BlackDuck, BlackAxe, BlackHat, BlackGnu, BlackCub,
+ BlackTokin, BlackClaw, BlackPCardinal, BlackPDragon, BlackCat,
BlackPSword, BlackMonarch, BlackMother, BlackNothing, BlackPRook, BlackPDagger,
BlackDolphin, BlackStag, BlackHorned, BlackEagle, BlackSword,
- BlackCrown, BlackHCrown, BlackHorse, BlackDrunk, BlackPBishop, BlackKing,
+ BlackCrown, BlackHCrown, BlackHorse, BlackDrunk, BlackPBishop,
+ BlackWheel, BlackPKnight, BlackWizard, BlackCopper, BlackIron, BlackViking,
+ BlackFlag, BlackAmazon, BlackWheer, BlackShield, BlackShierd,
+ BlackKing,
EmptySquare, DarkSquare,
NoRights, // [HGM] gamestate: for castling rights hidden in board[CASTLING]
ClearBoard, WhitePlay, BlackPlay, PromotePiece, DemotePiece /*for use on EditPosition menus*/
/* [HGM] some macros that can be used as prefixes to convert piece types */
#define WHITE_TO_BLACK (int)BlackPawn - (int)WhitePawn + (int)
#define BLACK_TO_WHITE (int)WhitePawn - (int)BlackPawn + (int)
-#define PROMOTED (int)WhiteDragon - (int)WhiteRook + (int)
-#define DEMOTED (int)WhiteRook - (int)WhiteDragon + (int)
+#define PROMO (int)WhiteDragon - (int)WhiteRook + (int)
+#define PROMOTED(X) (promoPartner[X])
+#define DEMOTED(X) (promoPartner[X])
#define SHOGI (int)EmptySquare + (int)
-#define CHUPROMOTED ((int)WhitePDragon - (int)WhiteDragon)*(gameInfo.variant == VariantChu) + PROMOTED
-#define CHUDEMOTED ((int)WhiteDragon - (int)WhitePDragon)*(gameInfo.variant == VariantChu) + DEMOTED
+#define CHUPROMOTED(X) (promoPartner[X])
+#define CHUDEMOTED(X) (promoPartner[X])
#define IS_SHOGI(V) ((V) == VariantShogi || (V) == VariantChu)
#define IS_LION(V) ((V) == WhiteLion || (V) == BlackLion)
char *pgnName[ENGINES];
Boolean firstPlaysBlack;
Boolean noChessProgram;
+ char *positionDir;
char *host[ENGINES];
char *themeNames;
char *pieceDirectory;
Boolean fischerCastling;/* [HGM] fischer: allow Fischr castling in any variant */
Boolean matchMode;
int matchGames;
+ Boolean epd;
Boolean monoMode;
Boolean debugMode;
Boolean clockMode;
/* [HGM] Board size */
int NrFiles;
int NrRanks;
+ int rankOffset;
int holdingsSize;
int matchPause;
char * pieceToCharTable;
char *logo[ENGINES];/* [HGM] logo */
char *pairingEngine;/* [HGM] pairing */
Boolean autoLogo;
+ Boolean fixedSize;
Boolean noGUI; /* [HGM] fast: suppress all display updates */
char *engOptions[ENGINES]; /* [HGM] options */
char *fenOverride[ENGINES];
Boolean autoCopyPV;
Boolean pieceMenu;
Boolean sweepSelect;
+ Boolean monoMouse;
Boolean whitePOV;
Boolean scoreWhite;
Boolean pvSAN[ENGINES];
int whiteRating; /* -1 if unknown */
int blackRating; /* -1 if unknown */
VariantClass variant;
+ char *variantName;
char *outOfBook; /* [AS] Move and score when engine went out of book */
int boardWidth; /* [HGM] adjustable board size */
int boardHeight;