fix bug #36228: reserved identifier violation
[xboard.git] / common.h
index 928a85d..05c1180 100644 (file)
--- a/common.h
+++ b/common.h
@@ -2,10 +2,10 @@
  * 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 Free Software Foundation, Inc.
+ * 2007, 2008, 2009, 2010, 2011, 2012 Free Software Foundation, Inc.
  *
  * Enhancements Copyright 2005 Alessandro Scotti
  *
@@ -51,8 +51,8 @@
  *------------------------------------------------------------------------
  ** See the file ChangeLog for a revision history.  */
 
-#ifndef _COMMON
-#define _COMMON
+#ifndef XB_COMMON
+#define XB_COMMON
 
 
 /* Begin compatibility grunge  */
@@ -128,14 +128,17 @@ int pclose(FILE *);
 #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
@@ -227,15 +230,15 @@ typedef enum {
     /* [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;
@@ -254,14 +257,14 @@ typedef enum {
     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,
@@ -310,7 +313,7 @@ typedef enum {
     VariantGothic,
     VariantCapablanca,
     VariantKnightmate,
-    VariantFairy,        
+    VariantFairy,
     VariantCylinder,
     VariantFalcon,
     VariantCapaRandom,
@@ -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;
@@ -512,12 +518,12 @@ typedef struct {
     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 */
@@ -526,7 +532,7 @@ typedef struct {
     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) */
@@ -563,6 +569,8 @@ typedef struct {
     Boolean useStickyWindows;
     Boolean bgObserve;   /* [HGM] bughouse */
     Boolean dualBoard;   /* [HGM] dual     */
+    Boolean viewer;
+    char * viewerOptions;
     int adjudicateDrawMoves;
     Boolean autoDisplayComment;
     Boolean autoDisplayTags;
@@ -621,6 +629,7 @@ typedef struct {
     Boolean lowTimeWarning; /* [HGM] low time */
     char *lowTimeWarningColor;
 
+    char *serverFileName;
     char *serverMovesName;
     Boolean suppressLoadMoves;
     int serverPause;
@@ -634,6 +643,9 @@ typedef struct {
     int eloThreshold2;
     int dateThreshold;
     int searchMode;
+    int stretch;
+    Boolean ignoreColors;
+    Boolean findMirror;
     char *userName;
     int rewindIndex;    /* [HGM] autoinc   */
     int sameColorGames; /* [HGM] alternate */
@@ -646,6 +658,9 @@ typedef struct {
     Boolean noGUI;      /* [HGM] fast: suppress all display updates */
     char *engOptions[ENGINES]; /* [HGM] options   */
     char *fenOverride[ENGINES];
+    char *features[ENGINES];
+    char *featureDefaults;
+    char *sysOpen;
     Boolean keepAlive;  /* [HGM] alive     */
     Boolean forceIllegal;/*[HGM] illegal   */
     Boolean noJoin;     /* [HGM] join      */
@@ -657,23 +672,28 @@ typedef struct {
     int evalThreshold;  /* [HGM] evalGraph */
     Boolean dropMenu;   /* [HGM] pv        */
     Boolean markers;    /* [HGM] markers   */
+    Boolean autoCopyPV;
     Boolean pieceMenu;
     Boolean sweepSelect;
     Boolean whitePOV;
     Boolean scoreWhite;
     Boolean pvSAN[ENGINES];
 
+    int recentEngines;
+    char *recentEngineList;
     char *tourneyFile;
     char *defName;
     char *processes;
     char *results;
     char *participants;
     char *afterGame;
+    char *afterTourney;
     int tourneyType;
     int tourneyCycles;
     int seedBase;
     Boolean roundSync;
     Boolean cycleSync;
+    Boolean numberTag;
 } AppData, *AppDataPtr;
 
 /*  PGN tags (for showing in the game list) */
@@ -748,7 +768,9 @@ extern WindowPlacement wpMoveHistory;
 extern WindowPlacement wpGameList;
 extern WindowPlacement wpTags;
 
-// [HGM] chat  
+#define MAXENGINES 2000
+
+// [HGM] chat
 #define MAX_CHAT 5
 extern int chatCount;
 extern char chatPartner[MAX_CHAT][MSG_SIZ];