#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 DEMOTED (int)WhiteRook - (int)WhiteDragon + (int)
#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 IS_SHOGI(V) ((V) == VariantShogi || (V) == VariantChu)
#define IS_LION(V) ((V) == WhiteLion || (V) == BlackLion)
Variant36, /* Temporary name for possible future ICC wild 36 */
VariantShogi, /* [HGM] added variants */
VariantChu,
- VariantXiangqi,
VariantCourier,
VariantGothic,
VariantCapablanca,
VariantGreat,
VariantTwilight,
VariantMakruk,
- VariantASEAN,
VariantSChess,
VariantGrand,
VariantSpartan,
+ VariantXiangqi,
+ VariantASEAN,
VariantLion,
VariantChuChess,
VariantUnknown /* Catchall for other unknown variants */
"wild36", \
"shogi", \
"chu", \
- "xiangqi", \
"courier", \
"gothic", \
"capablanca", \
"great",\
"twilight",\
"makruk",\
- "asean",\
"seirawan",\
"grand",\
"spartan",\
+ "xiangqi", \
+ "asean",\
"lion",\
- "chuchess",\
+ "elven",\
"unknown" \
}
char *pgnName[ENGINES];
Boolean firstPlaysBlack;
Boolean noChessProgram;
+ char *positionDir;
char *host[ENGINES];
char *themeNames;
char *pieceDirectory;
char *loadGameFile;
int loadGameIndex; /* game # within file */
char *saveGameFile;
+ char *autoInstall;
Boolean autoSaveGames;
Boolean onlyOwn; /* [HGM] suppress auto-saving of observed games */
char *loadPositionFile;
int loadPositionIndex; /* position # within file */
char *savePositionFile;
+ Boolean fischerCastling;/* [HGM] fischer: allow Fischr castling in any variant */
Boolean matchMode;
int matchGames;
Boolean monoMode;
char *clockFont;
char *messageFont; /* WinBoard only */
char *coordFont;
- char *font; /* xboard only: all other fonts */
- char *tagsFont; /* WinBoard only */
- char *commentFont; /* WinBoard only */
- char *icsFont; /* WinBoard only */
+ char *font; /* xboard only */
+ char *tagsFont;
+ char *commentFont;
+ char *historyFont;
+ char *gameListFont;
+ char *icsFont;
Boolean ringBellAfterMoves;
Boolean autoCallFlag;
Boolean flipView;
Boolean autoFlipView;
char *cmailGameName; /* xboard only */
+ Boolean headers;
Boolean alwaysPromoteToQueen;
Boolean oldSaveStyle;
Boolean oneClick;
int darkBackTextureMode;
char * renderPiecesWithFont; /* Name of font for rendering chess pieces */
char * fontToPieceTable; /* Map to translate font character to chess pieces */
+ char * inscriptions; /* text (kanji) to write on top of a piece */
int fontBackColorWhite;
int fontForeColorWhite;
int fontBackColorBlack;
int adjudicateDrawMoves;
Boolean autoDisplayComment;
Boolean autoDisplayTags;
+ Boolean pseudo[ENGINES]; /* [HGM] pseudo-engines */
Boolean isUCI[ENGINES];
Boolean hasOwnBookUCI[ENGINES];
char * adapterCommand;
int dateThreshold;
int searchMode;
int stretch;
+ int minPieces;
+ int maxPieces;
Boolean ignoreColors;
Boolean findMirror;
char *userName;
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;
extern WindowPlacement wpMoveHistory;
extern WindowPlacement wpGameList;
extern WindowPlacement wpTags;
+extern WindowPlacement wpTextMenu;
#define MAXENGINES 2000