Remove promotion-piece encoding from ChessMove type
[xboard.git] / common.h
index e0b6633..4b31719 100644 (file)
--- a/common.h
+++ b/common.h
@@ -5,7 +5,7 @@
  * Massachusetts. 
  *
  * Enhancements Copyright 1992-2001, 2002, 2003, 2004, 2005, 2006,
- * 2007, 2008, 2009 Free Software Foundation, Inc.
+ * 2007, 2008, 2009, 2010 Free Software Foundation, Inc.
  *
  * Enhancements Copyright 2005 Alessandro Scotti
  *
@@ -256,12 +256,8 @@ typedef enum {
     BlackKingSideCastle, BlackQueenSideCastle,
     BlackKingSideCastleWild, BlackQueenSideCastleWild,
     BlackHSideCastleFR, BlackASideCastleFR, 
-    WhitePromotionKnight, WhitePromotionBishop,
-    WhitePromotionRook, WhitePromotionQueen, WhitePromotionKing,
-    WhitePromotionChancellor, WhitePromotionArchbishop, WhitePromotionCentaur,
-    BlackPromotionKnight, BlackPromotionBishop,
-    BlackPromotionRook, BlackPromotionQueen, BlackPromotionKing,
-    BlackPromotionChancellor, BlackPromotionArchbishop, BlackPromotionCentaur,
+    WhitePromotion, WhiteNonPromotion,
+    BlackPromotion, BlackNonPromotion,
     WhiteCapturesEnPassant, BlackCapturesEnPassant,
     WhiteDrop, BlackDrop, 
     NormalMove, AmbiguousMove, IllegalMove, ImpossibleMove,
@@ -321,6 +317,7 @@ typedef enum {
     VariantSuper,
     VariantGreat,
     VariantTwilight,
+    VariantMakruk,
     VariantUnknown       /* Catchall for other unknown variants */
 } VariantClass;
 
@@ -363,10 +360,12 @@ typedef enum {
   "super",\
   "great",\
   "twilight",\
+  "makruk",\
   "unknown" \
 }
 
 typedef struct {
+    char *language;
 #if !defined(_amigados)
     char *whitePieceColor;
     char *blackPieceColor;
@@ -411,6 +410,8 @@ typedef struct {
     char *icsHelper;
     Boolean icsInputBox;
     Boolean useTelnet;
+    Boolean seekGraph;
+    Boolean autoRefresh;
     char *telnetProgram;
     char *gateway;
     char *loadGameFile;
@@ -444,6 +445,7 @@ typedef struct {
     char *cmailGameName; /* xboard only */
     Boolean alwaysPromoteToQueen;
     Boolean oldSaveStyle;
+    Boolean oneClick;
     Boolean quietPlay;
     Boolean showThinking;
     Boolean ponderNextMove;
@@ -514,6 +516,7 @@ typedef struct {
     int fontSizeTolerance; /* xboard only */
     char *initialMode;
     char *variant;
+    char *chatBoxes;
     int firstProtocolVersion;
     int secondProtocolVersion;
     Boolean showButtonBar;
@@ -550,6 +553,8 @@ typedef struct {
     Boolean highlightMoveWithArrow;
     int highlightArrowColor;
     Boolean useStickyWindows;
+    Boolean bgObserve;   /* [HGM] bughouse */
+    Boolean dualBoard;   /* [HGM] dual     */
     int adjudicateDrawMoves;
     Boolean autoDisplayComment;
     Boolean autoDisplayTags;
@@ -557,12 +562,16 @@ typedef struct {
     Boolean secondIsUCI;
     Boolean firstHasOwnBookUCI;
     Boolean secondHasOwnBookUCI;
+    char * adapterCommand;
     char * polyglotDir;
     Boolean usePolyglotBook;
     char * polyglotBook;
+    int bookDepth;
+    int bookStrength;
     int defaultHashSize;
     int defaultCacheSizeEGTB;
     char * defaultPathEGTB;
+    int defaultMatchGames;
 
     /* [HGM] Board size */
     int NrFiles;
@@ -570,6 +579,8 @@ typedef struct {
     int holdingsSize;
     int matchPause;
     char * pieceToCharTable;
+    char * pieceNickNames;
+    char * colorNickNames;
     Boolean allWhite;
     Boolean upsideDown;
     Boolean alphaRank;
@@ -635,6 +646,8 @@ typedef struct {
     Boolean useInternalWrap; /* use internal wrapping -- noJoin usurps this if set */
     Boolean pasteSelection; /* paste X selection instead of clipboard */
     int nrVariations;   /* [HGM] multivar  */
+    Boolean dropMenu;   /* [HGM] pv        */
+    Boolean markers;    /* [HGM] markers   */
 } AppData, *AppDataPtr;
 
 /* [AS] PGN tags (for showing in the game list) */
@@ -708,7 +721,7 @@ extern WindowPlacement wpGameList;
 extern WindowPlacement wpTags;
 
 // [HGM] chat  
-#define MAX_CHAT 3
+#define MAX_CHAT 5
 extern int chatCount;
 extern char chatPartner[MAX_CHAT][MSG_SIZ];