X-Git-Url: http://winboard.nl/cgi-bin?a=blobdiff_plain;f=common.h;h=7f3c4f886ebcc51ccb887c2661d66172644d1b9d;hb=fa1ce90bbcd27d332afebd9ecbd4e0ed662c4940;hp=2044c03a7a7cfe54d6fd6684eab9e3fbce4492e7;hpb=ac9d48038a86a672579abbcbbc53b17e2515ba13;p=xboard.git diff --git a/common.h b/common.h index 2044c03..7f3c4f8 100644 --- a/common.h +++ b/common.h @@ -5,7 +5,7 @@ * Massachusetts. * * Enhancements Copyright 1992-2001, 2002, 2003, 2004, 2005, 2006, - * 2007, 2008, 2009, 2010, 2011, 2012 Free Software Foundation, Inc. + * 2007, 2008, 2009, 2010, 2011, 2012, 2013 Free Software Foundation, Inc. * * Enhancements Copyright 2005 Alessandro Scotti * @@ -81,7 +81,14 @@ int pclose(FILE *); #endif #else +#ifdef X11 #include +#else +typedef char Boolean; +typedef char *String; +#define True 1 +#define False 0 +#endif #endif #endif @@ -125,7 +132,7 @@ int pclose(FILE *); outside world in ASCII. In a similar way, the different rank numbering systems (starting at rank 0 or 1) are implemented by redefining '1'. */ -#define BOARD_RANKS 11 /* [HGM] for in declarations */ +#define BOARD_RANKS 17 /* [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) @@ -218,6 +225,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, @@ -233,12 +248,20 @@ typedef enum { WhitePawn, WhiteKnight, WhiteBishop, WhiteRook, WhiteQueen, WhiteFerz, WhiteAlfil, WhiteAngel, WhiteMarshall, WhiteWazir, WhiteMan, WhiteCannon, WhiteNightrider, WhiteCardinal, WhiteDragon, WhiteGrasshopper, - WhiteSilver, WhiteFalcon, WhiteLance, WhiteCobra, WhiteUnicorn, WhiteKing, + WhiteSilver, WhiteFalcon, WhiteLance, WhiteCobra, WhiteUnicorn, WhiteNothing, + WhiteTokin, WhiteDagger, WhitePCardinal, WhitePDragon, WhiteCat, + WhitePSword, WhiteMonarch, WhiteMother, WhiteLion, WhitePRook, WhitePDagger, + WhiteDolphin, WhiteVacant, WhiteHorned, WhiteEagle, WhiteSword, + WhiteSkip, WhiteCrown, WhiteHorse, WhiteDrunk, WhitePBishop, WhiteKing, BlackPawn, BlackKnight, BlackBishop, BlackRook, BlackQueen, BlackFerz, BlackAlfil, BlackAngel, BlackMarshall, BlackWazir, BlackMan, BlackCannon, BlackNightrider, BlackCardinal, BlackDragon, BlackGrasshopper, - BlackSilver, BlackFalcon, BlackLance, BlackCobra, BlackUnicorn, BlackKing, - EmptySquare, + BlackSilver, BlackFalcon, BlackLance, BlackCobra, BlackUnicorn, BlackNothing, + BlackTokin, BlackDagger, BlackPCardinal, BlackPDragon, BlackCat, + BlackPSword, BlackMonarch, BlackMother, BlackLion, BlackPRook, BlackPDagger, + BlackDolphin, BlackVacant, BlackHorned, BlackEagle, BlackSword, + BlackSkip, BlackCrown, BlackHorse, BlackDrunk, BlackPBishop, BlackKing, + EmptySquare, DarkSquare, NoRights, // [HGM] gamestate: for castling rights hidden in board[CASTLING] ClearBoard, WhitePlay, BlackPlay, PromotePiece, DemotePiece /*for use on EditPosition menus*/ } ChessSquare; @@ -308,6 +331,7 @@ typedef enum { Variant35, /* Temporary name for possible future ICC wild 35 */ Variant36, /* Temporary name for possible future ICC wild 36 */ VariantShogi, /* [HGM] added variants */ + VariantChu, VariantXiangqi, VariantCourier, VariantGothic, @@ -323,6 +347,7 @@ typedef enum { VariantGreat, VariantTwilight, VariantMakruk, + VariantASEAN, VariantSChess, VariantGrand, VariantSpartan, @@ -354,6 +379,7 @@ typedef enum { "wild35", \ "wild36", \ "shogi", \ + "chu", \ "xiangqi", \ "courier", \ "gothic", \ @@ -369,6 +395,7 @@ typedef enum { "great",\ "twilight",\ "makruk",\ + "asean",\ "seirawan",\ "grand",\ "spartan",\ @@ -408,14 +435,17 @@ typedef struct { Boolean firstPlaysBlack; Boolean noChessProgram; char *host[ENGINES]; - char *pngDirectory; - char *svgDirectory; + char *themeNames; + char *pieceDirectory; + char *border; char *soundDirectory; char *remoteShell; char *remoteUser; float timeDelay; char *timeControl; + Boolean trueColors; Boolean icsActive; + Boolean autoBox; char *icsHost; char *icsPort; char *icsCommPort; /* if set, use serial port instead of tcp host/port */ @@ -431,6 +461,7 @@ typedef struct { int loadGameIndex; /* game # within file */ char *saveGameFile; Boolean autoSaveGames; + Boolean onlyOwn; /* [HGM] suppress auto-saving of observed games */ char *loadPositionFile; int loadPositionIndex; /* position # within file */ char *savePositionFile; @@ -466,6 +497,7 @@ typedef struct { Boolean ponderNextMove; Boolean periodicUpdates; Boolean autoObserve; + Boolean autoCreateLogon; Boolean autoComment; Boolean getMoveList; Boolean testLegality; @@ -534,6 +566,7 @@ typedef struct { Boolean showButtonBar; Boolean icsEngineAnalyze; Boolean variations; /* [HGM] enable variation-tree walking */ + Boolean autoExtend; /* [HGM] enable playing move(s) of right-clicked PV in analysis mode */ /* [AS] New properties (down to the "ZIPPY" part) */ Boolean scoreIsAbsolute[ENGINES]; /* If true, engine score is always from white side */ @@ -541,6 +574,7 @@ typedef struct { Boolean hideThinkingFromHuman; /* If true, program thinking is generated but not displayed in human/computer matches */ Boolean useBitmaps; Boolean useFont; + Boolean useBorder; char * liteBackTextureFile; /* Name of texture bitmap for lite squares */ char * darkBackTextureFile; /* Name of texture bitmap for dark squares */ int liteBackTextureMode; @@ -629,10 +663,12 @@ typedef struct { int zippyShortGame; /* [HGM] aborter */ #endif Boolean lowTimeWarning; /* [HGM] low time */ + Boolean quitNext; char *lowTimeWarningColor; char *serverFileName; char *serverMovesName; + char *finger; Boolean suppressLoadMoves; int serverPause; int timeOdds[ENGINES]; @@ -777,6 +813,11 @@ extern WindowPlacement wpTags; 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) @@ -818,4 +859,3 @@ extern char chatPartner[MAX_CHAT][MSG_SIZ]; #define secondOptions engOptions[1] #endif -