* common.h -- Common definitions for X and Windows NT versions of XBoard
*
* Copyright 1991 by Digital Equipment Corporation, Maynard,
- * Massachusetts.
+ * Massachusetts.
*
* Enhancements Copyright 1992-2001, 2002, 2003, 2004, 2005, 2006,
* 2007, 2008, 2009, 2010, 2011, 2012 Free Software Foundation, Inc.
*------------------------------------------------------------------------
** See the file ChangeLog for a revision history. */
-#ifndef _COMMON
-#define _COMMON
+#ifndef XB_COMMON
+#define XB_COMMON
/* Begin compatibility grunge */
#define BOARD_RANKS 11 /* [HGM] for in declarations */
#define BOARD_FILES 16 /* [HGM] for in declarations */
#define BOARD_HEIGHT (gameInfo.boardHeight) /* [HGM] made user adjustable */
-#define BOARD_WIDTH (gameInfo.boardWidth + 2*gameInfo.holdingsWidth)
+#define BOARD_WIDTH (gameInfo.boardWidth + 2*gameInfo.holdingsWidth)
#define BOARD_LEFT (gameInfo.holdingsWidth) /* [HGM] play-board edges */
#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 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>9)) /* [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 DROP_RANK -3
#define MAX_MOVES 1000
#define MSG_SIZ 512
/* [HGM] the order here is crucial for Crazyhouse & Shogi: */
/* only the first N pieces can go into the holdings, and */
/* promotions in those variants shift P-W to U-S */
- WhitePawn, WhiteKnight, WhiteBishop, WhiteRook, WhiteQueen,
- WhiteFerz, WhiteAlfil, WhiteAngel, WhiteMarshall, WhiteWazir, WhiteMan,
+ WhitePawn, WhiteKnight, WhiteBishop, WhiteRook, WhiteQueen,
+ WhiteFerz, WhiteAlfil, WhiteAngel, WhiteMarshall, WhiteWazir, WhiteMan,
WhiteCannon, WhiteNightrider, WhiteCardinal, WhiteDragon, WhiteGrasshopper,
WhiteSilver, WhiteFalcon, WhiteLance, WhiteCobra, WhiteUnicorn, WhiteKing,
BlackPawn, BlackKnight, BlackBishop, BlackRook, BlackQueen,
- BlackFerz, BlackAlfil, BlackAngel, BlackMarshall, BlackWazir, BlackMan,
+ BlackFerz, BlackAlfil, BlackAngel, BlackMarshall, BlackWazir, BlackMan,
BlackCannon, BlackNightrider, BlackCardinal, BlackDragon, BlackGrasshopper,
BlackSilver, BlackFalcon, BlackLance, BlackCobra, BlackUnicorn, BlackKing,
- EmptySquare,
+ EmptySquare,
NoRights, // [HGM] gamestate: for castling rights hidden in board[CASTLING]
ClearBoard, WhitePlay, BlackPlay, PromotePiece, DemotePiece /*for use on EditPosition menus*/
} ChessSquare;
EndOfFile = 0,
WhiteKingSideCastle, WhiteQueenSideCastle,
WhiteKingSideCastleWild, WhiteQueenSideCastleWild,
- WhiteHSideCastleFR, WhiteASideCastleFR,
+ WhiteHSideCastleFR, WhiteASideCastleFR,
BlackKingSideCastle, BlackQueenSideCastle,
BlackKingSideCastleWild, BlackQueenSideCastleWild,
- BlackHSideCastleFR, BlackASideCastleFR,
+ BlackHSideCastleFR, BlackASideCastleFR,
WhitePromotion, WhiteNonPromotion,
BlackPromotion, BlackNonPromotion,
WhiteCapturesEnPassant, BlackCapturesEnPassant,
- WhiteDrop, BlackDrop,
+ WhiteDrop, BlackDrop,
NormalMove, AmbiguousMove, IllegalMove, ImpossibleMove,
WhiteWins, BlackWins, GameIsDrawn, GameUnfinished,
GNUChessGame, XBoardGame, MoveNumberOne, Open, Close, Nothing,
VariantGothic,
VariantCapablanca,
VariantKnightmate,
- VariantFairy,
+ VariantFairy,
VariantCylinder,
VariantFalcon,
VariantCapaRandom,
char *jailSquareColor;
char *highlightSquareColor;
char *premoveHighlightColor;
+ char *dialogColor;
+ char *buttonColor;
#else
int whitePieceColor;
int blackPieceColor;
Boolean debugMode;
Boolean clockMode;
char *boardSize;
+ char *logoDir;
+ int logoSize;
Boolean Iconic;
char *searchTime;
int searchDepth;
Boolean autoComment;
Boolean getMoveList;
Boolean testLegality;
- int borderXoffset; /* xboard only */
- int borderYoffset; /* xboard only */
+ Boolean topLevel; /* xboard, top-level auxiliary windows */
Boolean titleInWindow; /* xboard only */
Boolean localLineEditing; /* WinBoard only */
Boolean zippyTalk;
Boolean highlightLastMove;
Boolean highlightDragging;
Boolean blindfold; /* if true, no pieces are drawn */
- Boolean premove; /* true if premove feature enabled */
- Boolean premoveWhite; /* true if premoving White first move */
- char *premoveWhiteText; /* text of White premove 1 */
- Boolean premoveBlack; /* true if premoving Black first move */
- char *premoveBlackText; /* text of Black premove 1 */
- Boolean icsAlarm; /* true if sounding alarm at a certain time */
+ Boolean premove; /* true if premove feature enabled */
+ Boolean premoveWhite; /* true if premoving White first move */
+ char *premoveWhiteText; /* text of White premove 1 */
+ Boolean premoveBlack; /* true if premoving Black first move */
+ char *premoveBlackText; /* text of Black premove 1 */
+ Boolean icsAlarm; /* true if sounding alarm at a certain time */
int icsAlarmTime; /* time to sound alarm, in milliseconds */
Boolean autoRaiseBoard;
int fontSizeTolerance; /* xboard only */
char *chatBoxes;
int protocolVersion[ENGINES];
Boolean showButtonBar;
- Boolean icsEngineAnalyze;
+ Boolean icsEngineAnalyze;
Boolean variations; /* [HGM] enable variation-tree walking */
/* [AS] New properties (down to the "ZIPPY" part) */
int evalHistColorWhite;
int evalHistColorBlack;
Boolean highlightMoveWithArrow;
+ Boolean tourney;
+ char * tourneyOptions;
int highlightArrowColor;
Boolean useStickyWindows;
Boolean bgObserve; /* [HGM] bughouse */
char *fenOverride[ENGINES];
char *features[ENGINES];
char *featureDefaults;
+ char *sysOpen;
Boolean keepAlive; /* [HGM] alive */
Boolean forceIllegal;/*[HGM] illegal */
Boolean noJoin; /* [HGM] join */
#define MAXENGINES 2000
-// [HGM] chat
+// [HGM] chat
#define MAX_CHAT 5
extern int chatCount;
extern char chatPartner[MAX_CHAT][MSG_SIZ];