#define BOARD_RGHT (gameInfo.boardWidth + gameInfo.holdingsWidth)
#define CASTLING (BOARD_RANKS-1) /* [HGM] hide in upper rank */
#define VIRGIN (BOARD_RANKS-2) /* [HGM] pieces not moved */
+#define TOUCHED_W CASTLING][(BOARD_FILES-6) /* [HGM] in upper rank */
+#define TOUCHED_B CASTLING][(BOARD_FILES-5) /* [HGM] in upper rank */
+#define EP_RANK CASTLING][(BOARD_FILES-4) /* [HGM] in upper rank */
+#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
char *pgnName[ENGINES];
Boolean firstPlaysBlack;
Boolean noChessProgram;
+ char *positionDir;
char *host[ENGINES];
char *themeNames;
char *pieceDirectory;
/* [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;