typedef ChessSquare Board[BOARD_RANKS][BOARD_FILES];
typedef enum {
- WhiteKingSideCastle = 1, WhiteQueenSideCastle,
+ EndOfFile = 0,
+ WhiteKingSideCastle, WhiteQueenSideCastle,
WhiteKingSideCastleWild, WhiteQueenSideCastleWild,
WhiteHSideCastleFR, WhiteASideCastleFR,
BlackKingSideCastle, BlackQueenSideCastle,
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;
VariantGreat,
VariantTwilight,
VariantMakruk,
+ VariantSChess,
VariantUnknown /* Catchall for other unknown variants */
} VariantClass;
"great",\
"twilight",\
"makruk",\
+ "seirawan",\
"unknown" \
}
int premoveHighlightColor;
#endif
int movesPerSession;
- int timeIncrement;
+ float timeIncrement;
char *initString;
char *secondInitString;
char *firstComputerString;
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 */
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 */
Boolean markers; /* [HGM] markers */
} AppData, *AppDataPtr;
-/* [AS] PGN tags (for showing in the game list) */
+/* PGN tags (for showing in the game list) */
+#define LPUSERGLT_SIZE 64
+
#define GLT_EVENT 'e'
#define GLT_SITE 's'
#define GLT_DATE 'd'