Keep track of virginity of back-rank pieces in variant seirawan
[xboard.git] / common.h
index 9e1c3dd..c657ef7 100644 (file)
--- a/common.h
+++ b/common.h
@@ -132,10 +132,13 @@ int pclose(FILE *);
 #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
@@ -384,6 +387,8 @@ typedef struct {
     char *jailSquareColor;
     char *highlightSquareColor;
     char *premoveHighlightColor;
+    char *dialogColor;
+    char *buttonColor;
 #else
     int whitePieceColor;
     int blackPieceColor;
@@ -434,6 +439,8 @@ typedef struct {
     Boolean debugMode;
     Boolean clockMode;
     char *boardSize;
+    char *logoDir;
+    int logoSize;
     Boolean Iconic;
     char *searchTime;
     int searchDepth;
@@ -461,8 +468,7 @@ typedef struct {
     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;
@@ -623,6 +629,7 @@ typedef struct {
     Boolean lowTimeWarning; /* [HGM] low time */
     char *lowTimeWarningColor;
 
+    char *serverFileName;
     char *serverMovesName;
     Boolean suppressLoadMoves;
     int serverPause;
@@ -653,6 +660,7 @@ typedef struct {
     char *fenOverride[ENGINES];
     char *features[ENGINES];
     char *featureDefaults;
+    char *sysOpen;
     Boolean keepAlive;  /* [HGM] alive     */
     Boolean forceIllegal;/*[HGM] illegal   */
     Boolean noJoin;     /* [HGM] join      */