cleaned up the directory a bit. Removed winboard-dm-beta, merged the two Changelogs...
[xboard.git] / winboard-dm-beta4 / common.h
diff --git a/winboard-dm-beta4/common.h b/winboard-dm-beta4/common.h
deleted file mode 100755 (executable)
index 1a0e658..0000000
+++ /dev/null
@@ -1,488 +0,0 @@
-/*
- * common.h -- Common definitions for X and Windows NT versions of XBoard
- * $Id$
- *
- * Copyright 1991 by Digital Equipment Corporation, Maynard, Massachusetts.
- * Enhancements Copyright 1992-95 Free Software Foundation, Inc.
- *
- * The following terms apply to Digital Equipment Corporation's copyright
- * interest in XBoard:
- * ------------------------------------------------------------------------
- * All Rights Reserved
- *
- * Permission to use, copy, modify, and distribute this software and its
- * documentation for any purpose and without fee is hereby granted,
- * provided that the above copyright notice appear in all copies and that
- * both that copyright notice and this permission notice appear in
- * supporting documentation, and that the name of Digital not be
- * used in advertising or publicity pertaining to distribution of the
- * software without specific, written prior permission.
- *
- * DIGITAL DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, INCLUDING
- * ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO EVENT SHALL
- * DIGITAL BE LIABLE FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR
- * ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS,
- * WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION,
- * ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS
- * SOFTWARE.
- * ------------------------------------------------------------------------
- *
- * The following terms apply to the enhanced version of XBoard distributed
- * by the Free Software Foundation:
- * ------------------------------------------------------------------------
- * This program is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation; either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program; if not, write to the Free Software
- * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
- * ------------------------------------------------------------------------
- */
-
-#ifndef _COMMON
-#define _COMMON
-
-/* Begin compatibility grunge  */
-
-#if defined(__STDC__) || defined(WIN32) || defined(_amigados)
-#define        P(args) args
-typedef void *VOIDSTAR;
-#else
-#define P(args)                ()
-typedef char *VOIDSTAR;
-#endif
-
-#ifdef WIN32
-typedef char Boolean;
-typedef char *String;
-#define popen _popen
-#define pclose _pclose
-
-#else
-#ifdef _amigados        /*  It is important, that these types have  */
-typedef int Boolean;    /*  a length of 4 bytes each, as we are     */
-typedef char *String;   /*  using ReadArgs() for argument parsing.  */
-#ifdef _DCC
-FILE *popen(const char *, const char *);
-int pclose(FILE *);
-#endif
-
-#else
-#include <X11/Intrinsic.h>
-#endif
-#endif
-
-
-#ifndef TRUE
-#define TRUE 1
-#define FALSE 0
-#endif
-
-#if !HAVE_RANDOM
-# if HAVE_RAND48
-#  define srandom srand48
-#  define random lrand48
-# else /* not HAVE_RAND48 */
-#  define srandom srand
-#  define random rand
-# endif /* not HAVE_RAND48 */
-#endif /* !HAVE_RANDOM */
-
-/* End compatibility grunge */
-
-#define PROTOVER                2       /* engine protocol version */
-
-#define BOARD_SIZE             8
-#define DROP_RANK               -3
-#define MAX_MOVES              1000
-#define MSG_SIZ                        2048
-#define DIALOG_SIZE            256
-#define STAR_MATCH_N            16
-#define MOVE_LEN               32
-#define TIME_CONTROL           "5"     /* in minutes */
-#define TIME_DELAY_QUOTE       "1.0"   /* seconds between moves */
-#define TIME_DELAY              ((float) 1.0)
-#define MOVES_PER_SESSION      40      /* moves per TIME_CONTROL */
-#define TIME_INCREMENT          -1      /* if >= 0, MOVES_PER_SESSION unused */
-#define WhiteOnMove(move)      (((move) % 2) == 0)
-#define ICS_HOST                "chessclub.com"
-#define ICS_PORT               "5000"
-#define ICS_COMM_PORT           ""
-#define FIRST_HOST             "localhost"
-#define SECOND_HOST            "localhost"
-#define TELNET_PROGRAM          "telnet"
-#define MATCH_MODE             "False"
-#define INIT_STRING            "new\nrandom\n"
-#define WHITE_STRING           "white\ngo\n"
-#define BLACK_STRING           "black\ngo\n"
-#define COMPUTER_STRING         "computer\n"
-#define REUSE_CHESS_PROGRAMS    1
-#define WHITE_PIECE_COLOR      "#FFFFCC"
-#define BLACK_PIECE_COLOR      "#202020"
-#define LIGHT_SQUARE_COLOR     "#C8C365"
-#define DARK_SQUARE_COLOR      "#77A26D"
-#define JAIL_SQUARE_COLOR       "#808080"
-#define HIGHLIGHT_SQUARE_COLOR "#FFFF00"
-#define PREMOVE_HIGHLIGHT_COLOR        "#FF0000"
-#define BELLCHAR                '\007'
-#define NULLCHAR                '\000'
-#define FEATURE_TIMEOUT         10000 /*ms*/
-
-/* Zippy defaults */
-#define ZIPPY_TALK FALSE
-#define ZIPPY_PLAY FALSE
-#define ZIPPY_LINES "yow.lines"
-#define ZIPPY_PINHEAD ""
-#define ZIPPY_PASSWORD ""
-#define ZIPPY_PASSWORD2 ""
-#define ZIPPY_PASSWORD3 ""
-#define ZIPPY_WRONG_PASSWORD ""
-#define ZIPPY_ACCEPT_ONLY ""
-#define ZIPPY_USE_I TRUE
-#define ZIPPY_BUGHOUSE 0
-#define ZIPPY_NOPLAY_CRAFTY FALSE
-#define ZIPPY_GAME_END "gameend\n"
-#define ZIPPY_GAME_START ""
-#define ZIPPY_ADJOURN FALSE
-#define ZIPPY_ABORT FALSE
-#define ZIPPY_VARIANTS "normal"
-#define ZIPPY_MAX_GAMES 0
-#define ZIPPY_REPLAY_TIMEOUT 120
-
-typedef enum {
-    BeginningOfGame, MachinePlaysWhite, MachinePlaysBlack,
-    AnalyzeMode, AnalyzeFile, TwoMachinesPlay,
-    EditGame, PlayFromGameFile, EndOfGame, EditPosition, Training,
-    IcsIdle, IcsPlayingWhite, IcsPlayingBlack, IcsObserving,
-    IcsExamining
-  } GameMode;
-
-GameMode gameMode;
-
-typedef enum {
-    WhitePawn, WhiteKnight, WhiteBishop, WhiteRook, WhiteQueen, WhiteKing,
-    BlackPawn, BlackKnight, BlackBishop, BlackRook, BlackQueen, BlackKing,
-    EmptySquare, 
-    ClearBoard, WhitePlay, BlackPlay /*for use on EditPosition menus*/
-  } ChessSquare;
-
-typedef ChessSquare Board[BOARD_SIZE][BOARD_SIZE];
-
-typedef enum {
-    WhiteKingSideCastle = 1, WhiteQueenSideCastle,
-    WhiteKingSideCastleWild, WhiteQueenSideCastleWild,
-    WhiteHSideCastleFR, WhiteASideCastleFR, 
-    BlackKingSideCastle, BlackQueenSideCastle,
-    BlackKingSideCastleWild, BlackQueenSideCastleWild,
-    BlackHSideCastleFR, BlackASideCastleFR, 
-    WhitePromotionKnight, WhitePromotionBishop,
-    WhitePromotionRook, WhitePromotionQueen, WhitePromotionKing,
-    BlackPromotionKnight, BlackPromotionBishop,
-    BlackPromotionRook, BlackPromotionQueen, BlackPromotionKing,
-    WhiteCapturesEnPassant, BlackCapturesEnPassant,
-    WhiteDrop, BlackDrop, 
-    NormalMove, AmbiguousMove, IllegalMove, ImpossibleMove,
-    WhiteWins, BlackWins, GameIsDrawn, GameUnfinished,
-    GNUChessGame, XBoardGame, MoveNumberOne, 
-    Comment, PositionDiagram, ElapsedTime, PGNTag, NAG
-  } ChessMove;
-
-typedef enum {
-    ColorShout, ColorSShout, ColorChannel1, ColorChannel, ColorKibitz,
-    ColorTell, ColorChallenge, ColorRequest, ColorSeek, ColorNormal,
-    ColorNone, NColorClasses
-} ColorClass;
-
-typedef enum {
-    SoundMove, SoundBell, SoundAlarm, SoundIcsWin, SoundIcsLoss,
-    SoundIcsDraw, SoundIcsUnfinished, NSoundClasses
-} SoundClass;
-
-/* Names for chess variants, not necessarily supported */
-typedef enum {
-    VariantNormal,       /* Normal chess */
-    VariantLoadable,     /* "loadgame" command allowed (not really a variant)*/
-    VariantWildCastle,   /* Shuffle chess where king can castle from d file */
-    VariantNoCastle,     /* Shuffle chess with no castling at all */
-    VariantFischeRandom, /* FischeRandom */
-    VariantBughouse,     /* Bughouse, ICC/FICS rules */
-    VariantCrazyhouse,   /* Crazyhouse, ICC/FICS rules */
-    VariantLosers,       /* Try to lose all pieces or get mated (ICC wild 17)*/
-    VariantSuicide,      /* Try to lose all pieces incl. king (FICS) */
-    VariantGiveaway,     /* Try to have no legal moves left (ICC wild 26) */
-    VariantTwoKings,     /* Weird ICC wild 9 */
-    VariantKriegspiel,   /* Kriegspiel; pawns can capture invisible pieces */
-    VariantAtomic,       /* Capturing piece explodes (ICC wild 27) */
-    Variant3Check,       /* Win by giving check 3 times (ICC wild 25) */
-    VariantShatranj,     /* Unsupported (ICC wild 28) */
-    Variant29,           /* Temporary name for possible future ICC wild 29 */
-    Variant30,           /* Temporary name for possible future ICC wild 30 */
-    Variant31,           /* Temporary name for possible future ICC wild 31 */
-    Variant32,           /* Temporary name for possible future ICC wild 32 */
-    Variant33,           /* Temporary name for possible future ICC wild 33 */
-    Variant34,           /* Temporary name for possible future ICC wild 34 */
-    Variant35,           /* Temporary name for possible future ICC wild 35 */
-    Variant36,           /* Temporary name for possible future ICC wild 36 */
-    VariantUnknown       /* Catchall for other unknown variants */
-} VariantClass;
-
-#define VARIANT_NAMES { \
-  "normal", \
-  "normal", \
-  "wildcastle", \
-  "nocastle", \
-  "fischerandom", \
-  "bughouse", \
-  "crazyhouse", \
-  "losers", \
-  "suicide", \
-  "giveaway", \
-  "twokings", \
-  "kriegspiel", \
-  "atomic", \
-  "3check", \
-  "shatranj", \
-  "wild29", \
-  "wild30", \
-  "wild31", \
-  "wild32", \
-  "wild33", \
-  "wild34", \
-  "wild35", \
-  "wild36", \
-  "unknown" \
-}
-
-typedef struct {
-#if !defined(_amigados)
-    char *whitePieceColor;
-    char *blackPieceColor;
-    char *lightSquareColor;
-    char *darkSquareColor;
-    char *jailSquareColor;
-    char *highlightSquareColor;
-    char *premoveHighlightColor;
-#else
-    int whitePieceColor;
-    int blackPieceColor;
-    int lightSquareColor;
-    int darkSquareColor;
-    int jailSquareColor;
-    int highlightSquareColor;
-    int premoveHighlightColor;
-#endif
-    int movesPerSession;
-    int timeIncrement;
-    char *initString;
-    char *secondInitString;
-    char *firstComputerString;
-    char *secondComputerString;
-    char *firstChessProgram;
-    char *secondChessProgram;
-    char *firstDirectory;
-    char *secondDirectory;
-    Boolean firstPlaysBlack;
-    Boolean noChessProgram;
-    char *firstHost;
-    char *secondHost;
-    char *bitmapDirectory;
-    char *remoteShell;
-    char *remoteUser;
-    float timeDelay;
-    char *timeControl;
-    Boolean icsActive;
-    char *icsHost;
-    char *icsPort;
-    char *icsCommPort;  /* if set, use serial port instead of tcp host/port */
-    char *icsLogon;     /* Hack to permit variable logon scripts. */
-    char *icsHelper;
-    Boolean icsInputBox;
-    Boolean useTelnet;
-    char *telnetProgram;
-    char *gateway;
-    char *loadGameFile;
-    int loadGameIndex;      /* game # within file */
-    char *saveGameFile;
-    Boolean autoSaveGames;
-    char *loadPositionFile;
-    int loadPositionIndex;  /* position # within file */
-    char *savePositionFile;
-    Boolean matchMode;
-    int matchGames;
-    Boolean monoMode;
-    Boolean debugMode;
-    Boolean clockMode;
-       /* daniel */
-       Boolean userVersion;    /* programmer version */
-       Boolean icsAnalyze;
-       Boolean icsEngineKillPV;
-       Boolean icsEngineWhisper;
-       Boolean icsEngineKibitz;
-       Boolean icsEngineTell;
-       Boolean icsEngineNone;
-       Boolean icsAnalyzeWindow;
-       Boolean smartQueue;             /* Live broadcast quere */
-       Boolean ICC_feature;            /* Enable special ICC fetures */ 
-       Boolean windowMove;             /* Drop fail high/low moves at icsAnalyzeOutPut */
-       int icsAnalyzeOutPut; /* 1=whisper 2=kibitz 3=tell 4=none */
-       int icsKillPVs;
-       char icsTells[MSG_SIZ]; /* handle/channel do we tell somthing */
-       Boolean icsWBprotoNorm;
-       Boolean icsWBprotoAgr;
-       int icsWBproto; /* dummy */
-       int icsSmartQueue;              /* 0 = standard game 1 = Blitzgame */
-       /* Split smartQueue with int because i want more for the future */
-       Boolean icsSmartQueueStd; 
-       Boolean icsSmartQueueBlitz;
-       Boolean icsShowBook;    /* True = show book False = disable */
-       Boolean AnalysisWindow; /* Engine Room */
-       Boolean engineStart; /* EngineRoom  Button */
-       Boolean engineTourneyMode; /* EngineRoom checkbox tourneyMode */
-       Boolean engineStatLine;  /* EngineRoom Statline disable */
-       Boolean zippyDraw; /* active zippy draw Handling ? */
-       int SendOutPutToICS; /* Analysis window: Send thinking lines to ICS */
-                                                /* 0 none 1 whisper 2 kibitz */
-       Boolean ButtonSendOutPutToICS; /* Checkbox analysis window */
-    char *boardSize;
-    Boolean Iconic;
-    char *searchTime;
-    int searchDepth;
-    Boolean showCoords;
-    char *clockFont;
-    char *messageFont; /* WinBoard only */
-    char *coordFont;
-    char *font; /* xboard only: all other fonts */
-    char *tagsFont; /* WinBoard only */
-    char *commentFont; /* WinBoard only */
-    char *icsFont; /* WinBoard only */
-    Boolean ringBellAfterMoves;
-    Boolean autoCallFlag;
-    Boolean flipView;
-    Boolean autoFlipView;
-    char *cmailGameName; /* xboard only */
-    Boolean alwaysPromoteToQueen;
-    Boolean oldSaveStyle;
-    Boolean quietPlay;
-    Boolean showThinking;
-    Boolean ponderNextMove;
-    Boolean periodicUpdates;
-    Boolean autoObserve;
-    Boolean autoComment;
-    Boolean getMoveList;
-    Boolean testLegality;
-    int borderXoffset; /* xboard only */
-    int borderYoffset; /* xboard only */
-    Boolean titleInWindow; /* xboard only */
-    Boolean localLineEditing; /* WinBoard only */
-    Boolean zippyTalk;
-    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 */
-    /* Strings for colors, as "fg, bg, bold" (strings used in xboard only) */
-    char *colorShout;
-    char *colorSShout;
-    char *colorChannel1;
-    char *colorChannel;
-    char *colorKibitz;
-    char *colorTell;
-    char *colorChallenge;
-    char *colorRequest;
-    char *colorSeek;
-    char *colorNormal;
-    char *soundProgram; /* sound-playing program */
-    char *soundShout;
-    char *soundSShout;
-    char *soundChannel1;
-    char *soundChannel;
-    char *soundKibitz;
-    char *soundTell;
-    char *soundChallenge;
-    char *soundRequest;
-    char *soundSeek;
-    char *soundMove;
-    char *soundIcsWin;
-    char *soundIcsLoss;
-    char *soundIcsDraw;
-    char *soundIcsUnfinished;
-    char *soundIcsAlarm;
-    Boolean reuseFirst;
-    Boolean reuseSecond;
-    Boolean animateDragging; /* If True, animate mouse dragging of pieces */
-    Boolean animate;   /* If True, animate non-mouse moves */
-    int animSpeed;     /* Delay in milliseconds between animation frames */
-    Boolean popupMoveErrors;
-    Boolean popupExitMessage;
-    int showJail;
-    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 */  
-    int icsAlarmTime;          /* time to sound alarm, in milliseconds */
-    Boolean autoRaiseBoard;
-    int fontSizeTolerance; /* xboard only */
-    char *initialMode;
-    char *variant;
-    int firstProtocolVersion;
-    int secondProtocolVersion;
-    Boolean showButtonBar;
-#if ZIPPY
-    char *zippyLines;
-    char *zippyPinhead;
-    char *zippyPassword;
-    char *zippyPassword2;
-       char *zippyPassword3;
-    char *zippyWrongPassword;
-    char *zippyAcceptOnly;
-    int zippyUseI;
-    int zippyBughouse;
-    int zippyNoplayCrafty;
-    char *zippyGameEnd;
-    char *zippyGameStart;
-    int zippyAdjourn;
-    int zippyAbort;
-    char *zippyVariants;
-    int zippyMaxGames;
-    int zippyReplayTimeout; /*seconds*/
-#endif
-} AppData, *AppDataPtr;
-
-extern AppData appData;
-
-typedef struct {
-    /* PGN 7-tag info */
-    char *event;
-    char *site;
-    char *date;
-    char *round;
-    char *white;
-    char *black;
-    ChessMove result;
-    /* Additional info */
-    char *fen;          /* NULL or FEN for starting position; input only */
-    char *resultDetails;
-    char *timeControl;
-    char *extraTags;    /* NULL or "[Tag \"Value\"]\n", etc. */
-    int whiteRating;    /* -1 if unknown */
-    int blackRating;    /* -1 if unknown */
-    VariantClass variant;
-} GameInfo;
-
-
-
-#endif