* 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
*
#endif
#else
+#ifdef X11
#include <X11/Intrinsic.h>
+#else
+typedef char Boolean;
+typedef char *String;
+#define True 1
+#define False 0
+#endif
#endif
#endif
/* End compatibility grunge */
+/* unsigned int 64 for engine nodes work and display */
+#ifdef WIN32
+ /* I don't know the name for this type of other compiler
+ * If it not work, just modify here
+ * This is for MS Visual Studio
+ */
+ #ifdef _MSC_VER
+ #define u64 unsigned __int64
+ #define s64 signed __int64
+ #define u64Display "%I64u"
+ #define s64Display "%I64d"
+ #define u64Const(c) (c ## UI64)
+ #define s64Const(c) (c ## I64)
+ #else
+ /* place holder
+ * or dummy types for other compiler
+ * [HGM] seems that -mno-cygwin comple needs %I64?
+ */
+ #define u64 unsigned long long
+ #define s64 signed long long
+ #ifdef USE_I64
+ #define u64Display "%I64u"
+ #define s64Display "%I64d"
+ #else
+ #define u64Display "%llu"
+ #define s64Display "%lld"
+ #endif
+ #define u64Const(c) (c ## ULL)
+ #define s64Const(c) (c ## LL)
+ #endif
+#else
+ /* GNU gcc */
+ #define u64 unsigned long long
+ #define s64 signed long long
+ #define u64Display "%llu"
+ #define s64Display "%lld"
+ #define u64Const(c) (c ## ull)
+ #define s64Const(c) (c ## ll)
+#endif
+
#define PROTOVER 2 /* engine protocol version */
// [HGM] license: Messages that engines must print to satisfy their license requirements for patented variants
#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,
Boolean firstPlaysBlack;
Boolean noChessProgram;
char *host[ENGINES];
- char *bitmapDirectory;
+ 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 */
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;
Boolean ponderNextMove;
Boolean periodicUpdates;
Boolean autoObserve;
+ Boolean autoCreateLogon;
Boolean autoComment;
Boolean getMoveList;
Boolean testLegality;
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 */
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 */
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;
int evalHistColorWhite;
int evalHistColorBlack;
Boolean highlightMoveWithArrow;
+ Boolean tourney;
+ char * tourneyOptions;
int highlightArrowColor;
Boolean useStickyWindows;
Boolean bgObserve; /* [HGM] bughouse */
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)
#define secondOptions engOptions[1]
#endif
-