X-Git-Url: http://winboard.nl/cgi-bin?a=blobdiff_plain;f=common.h;h=c881ca45fbd1f5c8673a74825c55406679b1b543;hb=7e0222e64da6706bf0dc2468f459b98e4346206b;hp=c657ef79df51fdf62459b10c3764d9504cf5b51e;hpb=2d0f4769e69d228d9593c574014c634706edea97;p=xboard.git diff --git a/common.h b/common.h index c657ef7..c881ca4 100644 --- a/common.h +++ b/common.h @@ -2,7 +2,7 @@ * 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, 2012 Free Software Foundation, Inc. @@ -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,7 +128,7 @@ 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 */ @@ -218,6 +218,14 @@ int pclose(FILE *); #define ZIPPY_MAX_GAMES 0 #define ZIPPY_REPLAY_TIMEOUT 120 +typedef VOIDSTAR ProcRef; +#define NoProc ((ProcRef) 0) +typedef VOIDSTAR InputSourceRef; + +typedef void (*DelayedEventCallback) P((void)); + +typedef enum { Press, Release } ClickType; + typedef enum { BeginningOfGame, MachinePlaysWhite, MachinePlaysBlack, AnalyzeMode, AnalyzeFile, TwoMachinesPlay, @@ -230,15 +238,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; @@ -257,14 +265,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, @@ -313,7 +321,7 @@ typedef enum { VariantGothic, VariantCapablanca, VariantKnightmate, - VariantFairy, + VariantFairy, VariantCylinder, VariantFalcon, VariantCapaRandom, @@ -408,12 +416,13 @@ typedef struct { Boolean firstPlaysBlack; Boolean noChessProgram; char *host[ENGINES]; - char *bitmapDirectory; + char *pieceDirectory; char *soundDirectory; char *remoteShell; char *remoteUser; float timeDelay; char *timeControl; + Boolean trueColors; Boolean icsActive; char *icsHost; char *icsPort; @@ -475,7 +484,6 @@ typedef struct { Boolean zippyPlay; int flashCount; /* Number of times to flash (xboard only) */ int flashRate; /* Flashes per second (xboard only) */ - char *pixmapDirectory; /* Path to XPM/XIM files to use (xboard only) */ int msLoginDelay; /* Delay per character (in msec) while sending ICS logon script (xboard only) */ Boolean colorize; /* If True, use the following colors to color text */ @@ -518,12 +526,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 */ @@ -532,7 +540,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) */ @@ -565,6 +573,8 @@ typedef struct { int evalHistColorWhite; int evalHistColorBlack; Boolean highlightMoveWithArrow; + Boolean tourney; + char * tourneyOptions; int highlightArrowColor; Boolean useStickyWindows; Boolean bgObserve; /* [HGM] bughouse */ @@ -770,11 +780,16 @@ extern WindowPlacement wpTags; #define MAXENGINES 2000 -// [HGM] chat +// [HGM] chat #define MAX_CHAT 5 extern int chatCount; extern char chatPartner[MAX_CHAT][MSG_SIZ]; +// Some prototypes of routines so general they should be available everywhere +/* If status == 0, we are exiting with a benign message, not an error */ +void DisplayFatalError P((String message, int error, int status)); +void DisplayError P((String message, int error)); + // [HGM] generally useful macros; there are way too many memory leaks... #define FREE(x) if(x) free(x) #define ASSIGN(x, y) if(x) free(x); x = strdup(y)