Allow arbitrary nesting of sub-variations in PGN input
[xboard.git] / common.h
index 39745e2..63cee7d 100644 (file)
--- a/common.h
+++ b/common.h
@@ -250,7 +250,8 @@ typedef enum {
 typedef ChessSquare Board[BOARD_RANKS][BOARD_FILES];
 
 typedef enum {
-    WhiteKingSideCastle = 1, WhiteQueenSideCastle,
+    EndOfFile = 0,
+    WhiteKingSideCastle, WhiteQueenSideCastle,
     WhiteKingSideCastleWild, WhiteQueenSideCastleWild,
     WhiteHSideCastleFR, WhiteASideCastleFR, 
     BlackKingSideCastle, BlackQueenSideCastle,
@@ -262,7 +263,7 @@ typedef enum {
     WhiteDrop, BlackDrop, 
     NormalMove, AmbiguousMove, IllegalMove, ImpossibleMove,
     WhiteWins, BlackWins, GameIsDrawn, GameUnfinished,
-    GNUChessGame, XBoardGame, MoveNumberOne, 
+    GNUChessGame, XBoardGame, MoveNumberOne, Open, Close, Nothing,
     Comment, PositionDiagram, ElapsedTime, PGNTag, NAG
   } ChessMove;
 
@@ -384,7 +385,7 @@ typedef struct {
     int premoveHighlightColor;
 #endif
     int movesPerSession;
-    int timeIncrement;
+    float timeIncrement;
     char *initString;
     char *secondInitString;
     char *firstComputerString;
@@ -494,6 +495,7 @@ typedef struct {
     char *soundIcsLoss;
     char *soundIcsDraw;
     char *soundIcsUnfinished;
+    Boolean disguise;        /* [HGM] Promoted Pawns look like pieces in bughouse */
     Boolean reuseFirst;
     Boolean reuseSecond;
     Boolean animateDragging; /* If True, animate mouse dragging of pieces */
@@ -521,6 +523,7 @@ typedef struct {
     int secondProtocolVersion;
     Boolean showButtonBar;
     Boolean icsEngineAnalyze; 
+    Boolean variations;         /* [HGM] enable variation-tree walking */
 
     /* [AS] New properties (down to the "ZIPPY" part) */
     Boolean firstScoreIsAbsolute;  /* If true, engine score is always from white side */