* 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
*
#define NULLCHAR '\000'
#define FEATURE_TIMEOUT 10000 /*ms*/
+#define CLOCK_FONT 0
+#define MESSAGE_FONT 1
+#define COORD_FONT 2
+#define CONSOLE_FONT 3
+#define COMMENT_FONT 4
+#define EDITTAGS_FONT 5
+#define MOVEHISTORY_FONT 6
+#define NUM_FONTS 7
+
/* Default to no flashing (the "usual" XBoard behavior) */
#define FLASH_COUNT 0 /* Number of times to flash */
#define FLASH_RATE 5 /* Flashes per second */
/* Default delay per character (in msec) while sending login script */
#define MS_LOGIN_DELAY 0
+/* [AS] Support for background textures */
+#define BACK_TEXTURE_MODE_DISABLED 0
+#define BACK_TEXTURE_MODE_PLAIN 1
+#define BACK_TEXTURE_MODE_FULL_RANDOM 2
+
/* Zippy defaults */
#define ZIPPY_TALK FALSE
#define ZIPPY_PLAY FALSE
typedef ChessSquare Board[BOARD_RANKS][BOARD_FILES];
typedef enum {
- WhiteKingSideCastle = 1, WhiteQueenSideCastle,
+ EndOfFile = 0,
+ WhiteKingSideCastle, WhiteQueenSideCastle,
WhiteKingSideCastleWild, WhiteQueenSideCastleWild,
WhiteHSideCastleFR, WhiteASideCastleFR,
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,
WhiteWins, BlackWins, GameIsDrawn, GameUnfinished,
- GNUChessGame, XBoardGame, MoveNumberOne,
+ GNUChessGame, XBoardGame, MoveNumberOne, Open, Close, Nothing,
Comment, PositionDiagram, ElapsedTime, PGNTag, NAG
} ChessMove;
VariantSuper,
VariantGreat,
VariantTwilight,
+ VariantMakruk,
+ VariantSChess,
VariantUnknown /* Catchall for other unknown variants */
} VariantClass;
"super",\
"great",\
"twilight",\
+ "makruk",\
+ "seirawan",\
"unknown" \
}
typedef struct {
+ char *language;
#if !defined(_amigados)
char *whitePieceColor;
char *blackPieceColor;
int premoveHighlightColor;
#endif
int movesPerSession;
- int timeIncrement;
+ float timeIncrement;
char *initString;
char *secondInitString;
char *firstComputerString;
char *icsHelper;
Boolean icsInputBox;
Boolean useTelnet;
+ Boolean seekGraph;
+ Boolean autoRefresh;
char *telnetProgram;
char *gateway;
char *loadGameFile;
char *cmailGameName; /* xboard only */
Boolean alwaysPromoteToQueen;
Boolean oldSaveStyle;
+ Boolean oneClick;
Boolean quietPlay;
Boolean showThinking;
Boolean ponderNextMove;
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 fontSizeTolerance; /* xboard only */
char *initialMode;
char *variant;
+ char *chatBoxes;
int firstProtocolVersion;
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 highlightMoveWithArrow;
int highlightArrowColor;
Boolean useStickyWindows;
+ Boolean bgObserve; /* [HGM] bughouse */
+ Boolean dualBoard; /* [HGM] dual */
int adjudicateDrawMoves;
Boolean autoDisplayComment;
Boolean autoDisplayTags;
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;
int holdingsSize;
int matchPause;
char * pieceToCharTable;
+ char * pieceNickNames;
+ char * colorNickNames;
Boolean allWhite;
Boolean upsideDown;
Boolean alphaRank;
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) */
+/* PGN tags (for showing in the game list) */
+#define LPUSERGLT_SIZE 64
+
#define GLT_EVENT 'e'
#define GLT_SITE 's'
#define GLT_DATE 'd'
int time; /* Milliseconds */
} ChessProgramStats_Move;
+/* [AS] Layout management */
+typedef struct {
+ Boolean visible;
+ int x;
+ int y;
+ int width;
+ int height;
+} WindowPlacement;
+
+extern WindowPlacement wpEngineOutput;
+extern WindowPlacement wpEvalGraph;
+extern WindowPlacement wpMoveHistory;
+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];