Merge branch 'master' into gtk
authorArun Persaud <arun@nubati.net>
Wed, 14 Oct 2009 04:17:33 +0000 (21:17 -0700)
committerArun Persaud <arun@nubati.net>
Wed, 14 Oct 2009 04:17:33 +0000 (21:17 -0700)
Conflicts:
backend.c
xboard.c

42 files changed:
backend.c
backend.h
backendz.h
callback.c
common.h
frontend.h
pixmaps/asdd72.xpm
pixmaps/asdl72.xpm
pixmaps/convert.c
pixmaps/cvdd33.xpm
pixmaps/cvdd37.xpm
pixmaps/cvdd40.xpm
pixmaps/cvdd45.xpm
pixmaps/cvdd49.xpm
pixmaps/cvdd54.xpm
pixmaps/cvdd58.xpm
pixmaps/cvdd64.xpm
pixmaps/cvdd72.xpm
pixmaps/cvdl33.xpm
pixmaps/cvdl37.xpm
pixmaps/cvdl40.xpm
pixmaps/cvdl45.xpm
pixmaps/cvdl49.xpm
pixmaps/cvdl54.xpm
pixmaps/cvdl58.xpm
pixmaps/cvdl64.xpm
pixmaps/cvdl72.xpm
pixmaps/hdd33.xpm
pixmaps/hdd49.xpm
pixmaps/hdd72.xpm
pixmaps/hdl33.xpm
pixmaps/hdl49.xpm
pixmaps/hdl72.xpm
pixmaps/m33s.bmp [new file with mode: 0644]
pixmaps/mdd33.xpm
pixmaps/mdl33.xpm
winboard/config.h
winboard/winboard.c
winboard/wsettings.c
xboard.c
xoptions.c
zippy.c

index dc61e33..1074107 100644 (file)
--- a/backend.c
+++ b/backend.c
@@ -77,6 +77,7 @@
 #if STDC_HEADERS
 # include <stdlib.h>
 # include <string.h>
+# include <stdarg.h>
 #else /* not STDC_HEADERS */
 # if HAVE_STRING_H
 #  include <string.h>
@@ -147,6 +148,7 @@ void read_from_player P((InputSourceRef isr, VOIDSTAR closure,
                         char *buf, int count, int error));
 void read_from_ics P((InputSourceRef isr, VOIDSTAR closure,
                      char *buf, int count, int error));
+void ics_printf P((char *format, ...));
 void SendToICS P((char *s));
 void SendToICSDelayed P((char *s, long msdelay));
 void SendMoveToICS P((ChessMove moveType, int fromX, int fromY,
@@ -229,6 +231,7 @@ char *GetInfoFromComment( int, char * ); // [HGM] PV time: returns stripped comm
 void InitEngineUCI( const char * iniDir, ChessProgramState * cps ); // [HGM] moved here from winboard.c
 char *ProbeBook P((int moveNr, char *book)); // [HGM] book: returns a book move
 char *SendMoveToBookUser P((int nr, ChessProgramState *cps, int initial)); // [HGM] book
+void ics_update_width P((int new_width));
 extern char installDir[MSG_SIZ];
 
 extern int tinyLayout, smallLayout;
@@ -1418,6 +1421,19 @@ KeepAlive()
     if(appData.keepAlive) ScheduleDelayedEvent(KeepAlive, appData.keepAlive*60*1000);
 }
 
+/* added routine for printf style output to ics */
+void ics_printf(char *format, ...)
+{
+    char buffer[MSG_SIZ];
+    va_list args;
+
+    va_start(args, format);
+    vsnprintf(buffer, sizeof(buffer), format, args);
+    buffer[sizeof(buffer)-1] = '\0';
+    SendToICS(buffer);
+    va_end(args);
+}
+
 void
 SendToICS(s)
      char *s;
@@ -1536,6 +1552,10 @@ StringToVariant(e)
         while( *e++ != '_');
     }
 
+    if(StrCaseStr(e, "misc/")) { // [HGM] on FICS, misc/shogi is not shogi
+       v = VariantNormal;
+       found = TRUE;
+    } else
     for (i=0; i<sizeof(variantNames)/sizeof(char*); i++) {
       if (StrCaseStr(e, variantNames[i])) {
        v = (VariantClass) i;
@@ -1920,8 +1940,6 @@ void
 VariantSwitch(Board board, VariantClass newVariant)
 {
    int newHoldingsWidth, newWidth = 8, newHeight = 8, i, j;
-   int oldCurrentMove = currentMove, oldForwardMostMove = forwardMostMove, oldBackwardMostMove = backwardMostMove;
-//   Board tempBoard; int saveCastling[BOARD_SIZE], saveEP;
 
    startedFromPositionFile = FALSE;
    if(gameInfo.variant == newVariant) return;
@@ -1937,60 +1955,65 @@ VariantSwitch(Board board, VariantClass newVariant)
     * but also when receiving holdings of a crazyhouse game. In the latter
     * case we want to add those holdings to the already received position.
     */
-
-
-  if (appData.debugMode) {
-    fprintf(debugFP, "Switch board from %s to %s\n",
-               VariantName(gameInfo.variant), VariantName(newVariant));
-    setbuf(debugFP, NULL);
-  }
-    shuffleOpenings = 0;       /* [HGM] shuffle */
-    gameInfo.holdingsSize = 5; /* [HGM] prepare holdings */
-    switch(newVariant) {
-            case VariantShogi:
-              newWidth = 9;  newHeight = 9;
-              gameInfo.holdingsSize = 7;
-            case VariantBughouse:
-            case VariantCrazyhouse:
-              newHoldingsWidth = 2; break;
-            default:
-              newHoldingsWidth = gameInfo.holdingsSize = 0;
-    }
-
-    if(newWidth  != gameInfo.boardWidth  ||
-       newHeight != gameInfo.boardHeight ||
-       newHoldingsWidth != gameInfo.holdingsWidth ) {
-
-        /* shift position to new playing area, if needed */
-        if(newHoldingsWidth > gameInfo.holdingsWidth) {
-           for(i=0; i<BOARD_HEIGHT; i++)
-               for(j=BOARD_RGHT-1; j>=BOARD_LEFT; j--)
-                   board[i][j+newHoldingsWidth-gameInfo.holdingsWidth] =
-                                                     board[i][j];
-           for(i=0; i<newHeight; i++) {
-               board[i][0] = board[i][newWidth+2*newHoldingsWidth-1] = EmptySquare;
-               board[i][1] = board[i][newWidth+2*newHoldingsWidth-2] = (ChessSquare) 0;
-           }
-        } else if(newHoldingsWidth < gameInfo.holdingsWidth) {
-           for(i=0; i<BOARD_HEIGHT; i++)
-               for(j=BOARD_LEFT; j<BOARD_RGHT; j++)
-                   board[i][j+newHoldingsWidth-gameInfo.holdingsWidth] =
-                                                 board[i][j];
-        }
-
-        gameInfo.boardWidth  = newWidth;
-        gameInfo.boardHeight = newHeight;
-        gameInfo.holdingsWidth = newHoldingsWidth;
-        gameInfo.variant = newVariant;
-        InitDrawingSizes(-2, 0);
-
-        /* [HGM] The following should definitely be solved in a better way */
-        InitPosition(FALSE);          /* this sets up board[0], but also other stuff        */
-    } else { gameInfo.variant = newVariant; InitPosition(FALSE); }
-
-    forwardMostMove = oldForwardMostMove;
-    backwardMostMove = oldBackwardMostMove;
-    currentMove = oldCurrentMove; /* InitPos reset these, but we need still to redraw the position */
+   
+   if (appData.debugMode) {
+     fprintf(debugFP, "Switch board from %s to %s\n",
+            VariantName(gameInfo.variant), VariantName(newVariant));
+     setbuf(debugFP, NULL);
+   }
+   shuffleOpenings = 0;       /* [HGM] shuffle */
+   gameInfo.holdingsSize = 5; /* [HGM] prepare holdings */
+   switch(newVariant) 
+     {
+     case VariantShogi:
+       newWidth = 9;  newHeight = 9;
+       gameInfo.holdingsSize = 7;
+     case VariantBughouse:
+     case VariantCrazyhouse:
+       newHoldingsWidth = 2; break;
+     case VariantGreat:
+       newWidth = 10;
+     case VariantSuper:
+       newHoldingsWidth = 2;
+       gameInfo.holdingsSize = 8;
+       return;
+     case VariantGothic:
+     case VariantCapablanca:
+     case VariantCapaRandom:
+       newWidth = 10;
+     default:
+       newHoldingsWidth = gameInfo.holdingsSize = 0;
+     };
+   
+   if(newWidth  != gameInfo.boardWidth  ||
+      newHeight != gameInfo.boardHeight ||
+      newHoldingsWidth != gameInfo.holdingsWidth ) {
+     
+     /* shift position to new playing area, if needed */
+     if(newHoldingsWidth > gameInfo.holdingsWidth) {
+       for(i=0; i<BOARD_HEIGHT; i++) 
+        for(j=BOARD_RGHT-1; j>=BOARD_LEFT; j--)
+          board[i][j+newHoldingsWidth-gameInfo.holdingsWidth] =
+            board[i][j];
+       for(i=0; i<newHeight; i++) {
+        board[i][0] = board[i][newWidth+2*newHoldingsWidth-1] = EmptySquare;
+        board[i][1] = board[i][newWidth+2*newHoldingsWidth-2] = (ChessSquare) 0;
+       }
+     } else if(newHoldingsWidth < gameInfo.holdingsWidth) {
+       for(i=0; i<BOARD_HEIGHT; i++)
+        for(j=BOARD_LEFT; j<BOARD_RGHT; j++)
+          board[i][j+newHoldingsWidth-gameInfo.holdingsWidth] =
+            board[i][j];
+     }
+     gameInfo.boardWidth  = newWidth;
+     gameInfo.boardHeight = newHeight;
+     gameInfo.holdingsWidth = newHoldingsWidth;
+     gameInfo.variant = newVariant;
+     InitDrawingSizes(-2, 0);
+     InitPosition(FALSE);          /* this sets up board[0], but also other stuff        */
+   } else { gameInfo.variant = newVariant; InitPosition(FALSE); }
+   
+   DrawPosition(TRUE, boards[currentMove]);
 }
 
 static int loggedOn = FALSE;
@@ -2067,7 +2090,7 @@ read_from_ics(isr, closure, data, count, error)
        for (i = 0; i < count; i++) {
            if (data[i] != NULLCHAR && data[i] != '\r')
              buf[buf_len++] = data[i];
-           if(buf_len >= 5 && buf[buf_len-5]=='\n' && buf[buf_len-4]=='\\' && 
+           if(!appData.noJoin && buf_len >= 5 && buf[buf_len-5]=='\n' && buf[buf_len-4]=='\\' && 
                                buf[buf_len-3]==' '  && buf[buf_len-2]==' '  && buf[buf_len-1]==' ') {
                buf_len -= 5; // [HGM] ICS: join continuation line of Lasker 2.2.3 server with previous
                if(buf_len == 0 || buf[buf_len-1] != ' ')
@@ -2201,7 +2224,8 @@ read_from_ics(isr, closure, data, count, error)
                  sprintf(str,
                          "/set-quietly interface %s\n/set-quietly style 12\n",
                          programVersion);
-
+          if (!appData.noJoin)
+              strcat(str, "/set-quietly wrap 0\n");
                } else if (ics_type == ICS_CHESSNET) {
                  sprintf(str, "/style 12\n");
                } else {
@@ -2211,9 +2235,12 @@ read_from_ics(isr, closure, data, count, error)
 #ifdef WIN32
                  strcat(str, "$iset nohighlight 1\n");
 #endif
+          if (!appData.noJoin)
+              strcat(str, "$iset nowrap 1\n");
                  strcat(str, "$iset lock 1\n$style 12\n");
                }
                SendToICS(str);
+               NotifyFrontendLogin();
                intfSet = TRUE;
            }
 
@@ -3929,6 +3956,12 @@ AnalysisPeriodicEvent(force)
     programStats.ok_to_send = 0;
 }
 
+void ics_update_width(new_width)
+       int new_width;
+{
+       ics_printf("set width %d\n", new_width);
+}
+
 void
 SendMoveToProgram(moveNum, cps)
      int moveNum;
@@ -9649,7 +9682,7 @@ SaveGamePGN(f)
            fprintf(f, " ");
            linelen++;
        }
-       fprintf(f, numtext);
+       fprintf(f, "%s", numtext);
        linelen += numlen;
 
        /* Get move */
@@ -9667,7 +9700,7 @@ SaveGamePGN(f)
            fprintf(f, " ");
            linelen++;
        }
-       fprintf(f, move_buffer);
+       fprintf(f, "%s", move_buffer);
        linelen += movelen;
 
         /* [AS] Add PV info if present */
@@ -9711,7 +9744,7 @@ SaveGamePGN(f)
                fprintf(f, " ");
                linelen++;
            }
-           fprintf(f, move_buffer);
+           fprintf(f, "%s", move_buffer);
            linelen += movelen;
         }
 
@@ -10374,8 +10407,7 @@ AnalyzeModeEvent()
        first.analyzing = TRUE;
        /*first.maybeThinking = TRUE;*/
        first.maybeThinking = FALSE; /* avoid killing GNU Chess */
-       AnalysisPopUp(_("Analysis"),
-                     _("Starting analysis mode...\nIf this message stays up, your chess program does not support analysis."));
+       EngineOutputPopUp();
     }
     if (!appData.icsEngineAnalyze) gameMode = AnalyzeMode;
     pausing = FALSE;
@@ -10401,8 +10433,7 @@ AnalyzeFileEvent()
        first.analyzing = TRUE;
        /*first.maybeThinking = TRUE;*/
        first.maybeThinking = FALSE; /* avoid killing GNU Chess */
-       AnalysisPopUp(_("Analysis"),
-                     _("Starting analysis mode...\nIf this message stays up, your chess program does not support analysis."));
+       EngineOutputPopUp();
     }
     gameMode = AnalyzeFile;
     pausing = FALSE;
@@ -10900,7 +10931,7 @@ ExitAnalyzeMode()
       SendToProgram("exit\n", &first);
       first.analyzing = FALSE;
     }
-    AnalysisPopDown();
+    EngineOutputPopDown();
     thinkOutput[0] = NULLCHAR;
 }
 
@@ -12744,12 +12775,10 @@ void
 DisplayAnalysisText(text)
      char *text;
 {
-    char buf[MSG_SIZ];
-
-    if (gameMode == AnalyzeMode || gameMode == AnalyzeFile
-               || appData.icsEngineAnalyze) {
-       sprintf(buf, "Analysis (%s)", first.tidy);
-       AnalysisPopUp(buf, text);
+  if (gameMode == AnalyzeMode || gameMode == AnalyzeFile 
+      || appData.icsEngineAnalyze) 
+    {
+      EngineOutputPopUp();
     }
 }
 
@@ -13552,6 +13581,14 @@ PositionToFEN(move, overrideCastling)
        } else {
            *p++ = '-';
        }
+    } else if(move == backwardMostMove) {
+       // [HGM] perhaps we should always do it like this, and forget the above?
+       if(epStatus[move] >= 0) {
+           *p++ = epStatus[move] + AAA;
+           *p++ = whiteToPlay ? '6'+BOARD_HEIGHT-8 : '3';
+       } else {
+           *p++ = '-';
+       }
     } else {
        *p++ = '-';
     }
index 4cc8646..7b6c08e 100644 (file)
--- a/backend.h
+++ b/backend.h
@@ -258,7 +258,7 @@ char * GameListLineFull P(( int, GameInfo *));
 
 extern char* StripHighlight P((char *));  /* returns static data */
 extern char* StripHighlightAndTitle P((char *));  /* returns static data */
-
+extern void ics_update_width P((int new_width));
 typedef enum { CheckBox, ComboBox, TextBox, Button, Spin, ResetButton,
                   SaveButton, FileName, PathName, Slider, Message } Control;
 
index eb8df7d..51d4780 100644 (file)
@@ -64,6 +64,7 @@ extern ProcRef firstProgramPR;
 extern int startedFromSetupPosition;
 extern int firstMove;
 extern GameInfo gameInfo;
+extern void ics_printf P((char *format, ...));
 extern void SendToICS P((char *s));
 extern int looking_at P((char *, int *, char *));
 extern void SendToProgram P((char *message, ChessProgramState *cps));
index 14cfcc1..9abeca0 100644 (file)
@@ -491,7 +491,7 @@ ResetProc (object, user_data)
      gpointer user_data;
 {
   ResetGameEvent();
-  AnalysisPopDown();
+  EngineOutputPopDown();
 }
 
 void WhiteClockProc(object, user_data)
index 83c6837..9ab3048 100644 (file)
--- a/common.h
+++ b/common.h
@@ -602,6 +602,7 @@ typedef struct {
     char *fenOverride2;
     Boolean keepAlive;  /* [HGM] alive     */
     Boolean forceIllegal;/*[HGM] illegal   */
+    Boolean noJoin;     /* [HGM] join      */
 } AppData, *AppDataPtr;
 
 /* [AS] PGN tags (for showing in the game list) */
index 314176b..29425f1 100644 (file)
@@ -85,6 +85,7 @@ void AskQuestion P((String title, String question, String replyPrefix,
 void DisplayIcsInteractionTitle P((String title));
 void DrawPosition P((int fullRedraw, Board board));
 void ResetFrontEnd P((void));
+void NotifyFrontendLogin P((void));
 void CommentPopUp P((String title, String comment));
 void CommentPopDown P((void));
 void EditCommentPopUp P((int index, String title, String text));
@@ -159,8 +160,6 @@ void TagsPopDown P((void));
 
 void ICSInitScript P((void));
 void StartAnalysisClock P((void));
-void AnalysisPopUp P((char *title, char *label));
-void AnalysisPopDown P((void));
 
 void SetHighlights P((int fromX, int fromY, int toX, int toY));
 void ClearHighlights P((void));
index 313020b..65f0a0a 100644 (file)
@@ -1,9 +1,10 @@
 /* XPM */\r
 static char *asdd72[] = {\r
 /* columns rows colors chars-per-pixel */\r
-"72 72 2 1",\r
+"72 72 3 1",\r
 "  c black s dark_piece",\r
 ". c green s dark_square",\r
+"X c white s light_piece",\r
 /* pixels */\r
 "........................................................................",\r
 "........................................................................",\r
@@ -18,51 +19,51 @@ static char *asdd72[] = {
 "........                ........................               .........",\r
 "........                 ......................                .........",\r
 "........                  ....................                 .........",\r
-"........      .            ..................                  .........",\r
-"........      ..            ................            .      .........",\r
-"........       ..            ..............            ..      .........",\r
-"........        ..            ............            ..       .........",\r
-"........         ..            ..........            ..        .........",\r
-"........          ..            ........            ..         .........",\r
-"........           ..            ......            ..          .........",\r
-"........            ..            ....            ..           .........",\r
-".........            ..            ..            ..            .........",\r
-"..........            ..                        ..            ..........",\r
-"...........            ..            ..        ..            ...........",\r
-"............            ..            ..      ..            ............",\r
-".............            ..            ..    ..            .............",\r
-"..............            ..            ..  ..            ..............",\r
-"...............            ..            ..              ...............",\r
-"................            ..            ..            ................",\r
-".................            ..            ..          .................",\r
-"..................            ..            ..        ..................",\r
-"...................            ..            ..      ...................",\r
-"....................            ..            ..    ....................",\r
-".....................            ..            ..  .....................",\r
-"......................            ..              ......................",\r
-".......................            ..            .......................",\r
-"......................              ..            ......................",\r
-"........   ..........  ..            ..            ..........   ........",\r
-".......     ........    ..            ..            ........     .......",\r
-"......       ......      ..            ..            ......       ......",\r
-".....         ....        ..            ..            ....         .....",\r
-"....           ..          ..            ..            ..           ....",\r
-"....            ..          ..            ..          ..            ....",\r
-"....             ..          ..            ..        ..             ....",\r
-"....              ..      .   ..            ..      ..              ....",\r
-".....              ..    ..    ..            ..    ..              .....",\r
-"......              ..   .      ..            .   ..              ......",\r
-".......              ..          .               ..              .......",\r
-"........              ..                        ..              ........",\r
-".........              ..          ..          ..              .........",\r
-"............            ..        ....        ..            ............",\r
-".............            ..      ......      ..            .............",\r
-"............ .            ..    ........    ..            . ............",\r
-"...........   .            ..  ..........  ..            .   ...........",\r
-"..........     .            ................            .     ..........",\r
-".........       .            ..............            .       .........",\r
-"........         .            ............            .         ........",\r
-".......           .            ..........            .           .......",\r
+"........      X            ..................                  .........",\r
+"........      XX            ................            X      .........",\r
+"........       XX            ..............            XX      .........",\r
+"........        XX            ............            XX       .........",\r
+"........         XX            ..........            XX        .........",\r
+"........          XX            ........            XX         .........",\r
+"........           XX            ......            XX          .........",\r
+"........            XX            ....            XX           .........",\r
+".........            XX            ..            XX            .........",\r
+"..........            XX                        XX            ..........",\r
+"...........            XX            XX        XX            ...........",\r
+"............            XX            XX      XX            ............",\r
+".............            XX            XX    XX            .............",\r
+"..............            XX            XX  XX            ..............",\r
+"...............            XX            XX              ...............",\r
+"................            XX            XX            ................",\r
+".................            XX            XX          .................",\r
+"..................            XX            XX        ..................",\r
+"...................            XX            XX      ...................",\r
+"....................            XX            XX    ....................",\r
+".....................            XX            XX  .....................",\r
+"......................            XX              ......................",\r
+".......................            XX            .......................",\r
+"......................              XX            ......................",\r
+"........   ..........  XX            XX            ..........   ........",\r
+".......     ........    XX            XX            ........     .......",\r
+"......       ......      XX            XX            ......       ......",\r
+".....         ....        XX            XX            ....         .....",\r
+"....           ..          XX            XX            ..           ....",\r
+"....            XX          XX            XX          XX            ....",\r
+"....             XX          XX            XX        XX             ....",\r
+"....              XX      X   XX            XX      XX              ....",\r
+".....              XX    XX    XX            XX    XX              .....",\r
+"......              XX   X      XX            X   XX              ......",\r
+".......              XX          X               XX              .......",\r
+"........              XX                        XX              ........",\r
+".........              XX          ..          XX              .........",\r
+"............            XX        ....        XX            ............",\r
+".............            XX      ......      XX            .............",\r
+"............ X            XX    ........    XX            X ............",\r
+"...........   X            XX  ..........  XX            X   ...........",\r
+"..........     X            XX............XX            X     ..........",\r
+".........       X            ..............            X       .........",\r
+"........         X            ............            X         ........",\r
+".......           X            ..........            X           .......",\r
 "......             .            ........            .             ......",\r
 ".....              ..            ......            ..              .....",\r
 "....              ....            ....            ....              ....",\r
index 7f987f2..6dcd22e 100644 (file)
@@ -1,9 +1,10 @@
 /* XPM */\r
 static char *asdl72[] = {\r
 /* columns rows colors chars-per-pixel */\r
-"72 72 2 1",\r
+"72 72 3 1",\r
 "  c black s dark_piece",\r
 ". c gray s light_square",\r
+"X c white s light_piece",\r
 /* pixels */\r
 "........................................................................",\r
 "........................................................................",\r
@@ -18,51 +19,51 @@ static char *asdl72[] = {
 "........                ........................               .........",\r
 "........                 ......................                .........",\r
 "........                  ....................                 .........",\r
-"........      .            ..................                  .........",\r
-"........      ..            ................            .      .........",\r
-"........       ..            ..............            ..      .........",\r
-"........        ..            ............            ..       .........",\r
-"........         ..            ..........            ..        .........",\r
-"........          ..            ........            ..         .........",\r
-"........           ..            ......            ..          .........",\r
-"........            ..            ....            ..           .........",\r
-".........            ..            ..            ..            .........",\r
-"..........            ..                        ..            ..........",\r
-"...........            ..            ..        ..            ...........",\r
-"............            ..            ..      ..            ............",\r
-".............            ..            ..    ..            .............",\r
-"..............            ..            ..  ..            ..............",\r
-"...............            ..            ..              ...............",\r
-"................            ..            ..            ................",\r
-".................            ..            ..          .................",\r
-"..................            ..            ..        ..................",\r
-"...................            ..            ..      ...................",\r
-"....................            ..            ..    ....................",\r
-".....................            ..            ..  .....................",\r
-"......................            ..              ......................",\r
-".......................            ..            .......................",\r
-"......................              ..            ......................",\r
-"........   ..........  ..            ..            ..........   ........",\r
-".......     ........    ..            ..            ........     .......",\r
-"......       ......      ..            ..            ......       ......",\r
-".....         ....        ..            ..            ....         .....",\r
-"....           ..          ..            ..            ..           ....",\r
-"....            ..          ..            ..          ..            ....",\r
-"....             ..          ..            ..        ..             ....",\r
-"....              ..      .   ..            ..      ..              ....",\r
-".....              ..    ..    ..            ..    ..              .....",\r
-"......              ..   .      ..            .   ..              ......",\r
-".......              ..          .               ..              .......",\r
-"........              ..                        ..              ........",\r
-".........              ..          ..          ..              .........",\r
-"............            ..        ....        ..            ............",\r
-".............            ..      ......      ..            .............",\r
-"............ .            ..    ........    ..            . ............",\r
-"...........   .            ..  ..........  ..            .   ...........",\r
-"..........     .            ................            .     ..........",\r
-".........       .            ..............            .       .........",\r
-"........         .            ............            .         ........",\r
-".......           .            ..........            .           .......",\r
+"........      X            ..................                  .........",\r
+"........      XX            ................            X      .........",\r
+"........       XX            ..............            XX      .........",\r
+"........        XX            ............            XX       .........",\r
+"........         XX            ..........            XX        .........",\r
+"........          XX            ........            XX         .........",\r
+"........           XX            ......            XX          .........",\r
+"........            XX            ....            XX           .........",\r
+".........            XX            ..            XX            .........",\r
+"..........            XX                        XX            ..........",\r
+"...........            XX            XX        XX            ...........",\r
+"............            XX            XX      XX            ............",\r
+".............            XX            XX    XX            .............",\r
+"..............            XX            XX  XX            ..............",\r
+"...............            XX            XX              ...............",\r
+"................            XX            XX            ................",\r
+".................            XX            XX          .................",\r
+"..................            XX            XX        ..................",\r
+"...................            XX            XX      ...................",\r
+"....................            XX            XX    ....................",\r
+".....................            XX            XX  .....................",\r
+"......................            XX              ......................",\r
+".......................            XX            .......................",\r
+"......................              XX            ......................",\r
+"........   ..........  XX            XX            ..........   ........",\r
+".......     ........    XX            XX            ........     .......",\r
+"......       ......      XX            XX            ......       ......",\r
+".....         ....        XX            XX            ....         .....",\r
+"....           ..          XX            XX            ..           ....",\r
+"....            XX          XX            XX          XX            ....",\r
+"....             XX          XX            XX        XX             ....",\r
+"....              XX      X   XX            XX      XX              ....",\r
+".....              XX    XX    XX            XX    XX              .....",\r
+"......              XX   X      XX            X   XX              ......",\r
+".......              XX          X               XX              .......",\r
+"........              XX                        XX              ........",\r
+".........              XX          ..          XX              .........",\r
+"............            XX        ....        XX            ............",\r
+".............            XX      ......      XX            .............",\r
+"............ X            XX    ........    XX            X ............",\r
+"...........   X            XX  ..........  XX            X   ...........",\r
+"..........     X            XX............XX            X     ..........",\r
+".........       X            ..............            X       .........",\r
+"........         X            ............            X         ........",\r
+".......           X            ..........            X           .......",\r
 "......             .            ........            .             ......",\r
 ".....              ..            ......            ..              .....",\r
 "....              ....            ....            ....              ....",\r
index dcdcd47..3118808 100644 (file)
@@ -54,6 +54,19 @@ void Paint(char dest[130][130], char src[130][130], int size, char c)
        for(i=0; i<size; i++) for(j=0; j<size; j++) if(!src[i][j]) dest[i][j] = c;\r
 }\r
 \r
+FloodFill(char a[130][130], int size, int x, int y)\r
+{\r
+       char old = 'X', new = '.';\r
+       if(a[x][y] != old) return; else {\r
+               a[x][y] = new;\r
+               if(x > 0) FloodFill(a, size, x-1, y);\r
+               if(y > 0) FloodFill(a, size, x, y-1);\r
+               if(x < size-1) FloodFill(a, size, x+1, y);\r
+               if(y < size-1) FloodFill(a, size, x, y+1);\r
+       }\r
+       \r
+}\r
+\r
 void Save(FILE *f, char *name, char data[130][130], int size, char *col, int depth)\r
 {      // write out data in source format for d x d pixmap with specified square color\r
        int i, j;\r
@@ -79,9 +92,11 @@ char data[130][130], oData[130][130], sData[130][130], wData[130][130];
 \r
 main(int argc, char **argv)\r
 {\r
-       int i, j, k, d, cnt, p, s, t; char c, h, w, *name, buf[80];\r
+       int i, j, k, d, cnt, p, s, t; char c, h, w, *name, buf[80], transparent;\r
        FILE *f;\r
 \r
+    transparent = argc > 1 && !strcmp(argv[1], "-t");\r
+\r
     for(s=0; s<18; s++) for(p=0; pieceList[p] != NULL; p++) {\r
 \r
        // Load the 3 kinds of Windows monochrome bitmaps (outline, solid, white fill)\r
@@ -107,19 +122,26 @@ main(int argc, char **argv)
        printf("%s loaded\n", buf);\r
        // construct pixmaps as character arrays\r
        d = sizeList[s];\r
-       for(i=0; i<d; i++) { for(j=0; j<d; j++) data[i][j] = '.'; data[i][d] = 0; } // fill square\r
+       for(i=0; i<d; i++) { for(j=0; j<d; j++) data[i][j] = transparent? '.' : 'X'; data[i][d] = 0; } // fill square\r
 \r
        Paint(data, sData, d, ' '); // overay with solid piece bitmap\r
 \r
+       if(!transparent) { // background was painted same color as piece details; flood-fill it from corners\r
+           FloodFill(data, d, 0, 0);\r
+           FloodFill(data, d, 0, d-1);\r
+           FloodFill(data, d, d-1, 0);\r
+           FloodFill(data, d, d-1, d-1);\r
+       }\r
+\r
        sprintf(buf, "%s%s%d.xpm", pieceList[p], "dd", d);\r
        sprintf(name, "%s%s%d", pieceList[p], "dd", d);\r
        f = fopen(buf, "w");\r
-       Save(f, name, data, d, "c green s dark_square", 2);\r
+       Save(f, name, data, d, "c green s dark_square", 3);\r
 \r
        sprintf(buf, "%s%s%d.xpm", pieceList[p], "dl", d);\r
        sprintf(name, "%s%s%d", pieceList[p], "dl", d);\r
        f = fopen(buf, "w");\r
-       Save(f, name, data, d, "c gray s light_square", 2); // silly duplication; pixmap is te same, but other color\r
+       Save(f, name, data, d, "c gray s light_square", 3); // silly duplication; pixmap is te same, but other color\r
 \r
        // now the light piece\r
        for(i=0; i<d; i++) { for(j=0; j<d; j++) data[i][j] = '.'; data[i][d] = 0; } // fill square\r
index 09b6e5e..094e35d 100644 (file)
@@ -1,37 +1,38 @@
 /* XPM */\r
 static char *cvdd33[] = {\r
 /* columns rows colors chars-per-pixel */\r
-"33 33 2 1",\r
+"33 33 3 1",\r
 "  c black s dark_piece",\r
 ". c green s dark_square",\r
+"X c white s light_piece",\r
 /* pixels */\r
 ".................................",\r
 ".................................",\r
 "................... ... .........",\r
 "..................   .  .........",\r
 "...............         .........",\r
-".............  ...   ..  ........",\r
-"...........  ..       .. ........",\r
-"........... ..        . . .......",\r
-".......... ..          .. .......",\r
-".........  .               ......",\r
-".........  .     .         ......",\r
-"......... ..                .....",\r
-"........  .                 .....",\r
-"........  .       ..      .. ....",\r
-"........ ..       ....     . ....",\r
-"........ ..        ....      ....",\r
-".......  .          ....    .....",\r
-".......  .           ...  .......",\r
-"....... ..            ...........",\r
-"....... ..            ...........",\r
-"....... ..             ..........",\r
+".............  XXX   XX  ........",\r
+"...........  XX       XX ........",\r
+"........... XX        X X .......",\r
+".......... XX          XX .......",\r
+".........  X               ......",\r
+".........  X     X         ......",\r
+"......... XX                .....",\r
+"........  X                 .....",\r
+"........  X       ..      XX ....",\r
+"........ XX       ....     X ....",\r
+"........ XX        ....      ....",\r
+".......  X          ....    .....",\r
+".......  X           ...  .......",\r
+"....... XX            ...........",\r
+"....... XX            ...........",\r
+"....... XX             ..........",\r
 ".......                ..........",\r
 ".......                ..........",\r
-"........ ............. ..........",\r
+"........ XXXXXXXXXXXXX ..........",\r
 ".......                 .........",\r
 "......                   ........",\r
-".....  .................  .......",\r
+".....  XXXXXXXXXXXXXXXXX  .......",\r
 ".....                     .......",\r
 ".....                     .......",\r
 ".....     ...     ...     .......",\r
index b0d453c..25d7b5d 100644 (file)
@@ -1,36 +1,37 @@
 /* XPM */\r
 static char *cvdd37[] = {\r
 /* columns rows colors chars-per-pixel */\r
-"37 37 2 1",\r
+"37 37 3 1",\r
 "  c black s dark_piece",\r
 ". c green s dark_square",\r
+"X c white s light_piece",\r
 /* pixels */\r
 ".....................................",\r
 "..................... .... ..........",\r
 "....................   ..  ..........",\r
 "....................   .   ..........",\r
 "................           ..........",\r
-"...............  ...   ..  ..........",\r
-"..............  .           .........",\r
-".............  .        ..  .........",\r
-"............  .           .  ........",\r
-"............ ..           .  ........",\r
-"...........  .                .......",\r
-"........... ..     .          .......",\r
-"........... .                  ......",\r
-".......... ..                  ......",\r
-".......... ..       ..          .....",\r
-".......... .        ....     .. .....",\r
-"............         ....     . .....",\r
-"......... ..          ....  .   .....",\r
-"......... ..          .....    ......",\r
-"......... ..           ..............",\r
-"......... ..            .............",\r
-"......... ..             ............",\r
-"......... ..              ...........",\r
-"......... .               ...........",\r
+"...............  XXX   XX  ..........",\r
+"..............  X           .........",\r
+".............  X        XX  .........",\r
+"............  X           X  ........",\r
+"............ XX           X  ........",\r
+"...........  X                .......",\r
+"........... XX     X          .......",\r
+"........... X                  ......",\r
+".......... XX                  ......",\r
+".......... XX       ..          .....",\r
+".......... X        ....     XX .....",\r
+"..........XX         ....     X .....",\r
+"......... XX          ....  X   .....",\r
+"......... XX          .....    ......",\r
+"......... XX           ..............",\r
+"......... XX            .............",\r
+"......... XX             ............",\r
+"......... XX              ...........",\r
+"......... X               ...........",\r
 ".........                 ...........",\r
-".......... .............. ...........",\r
+".......... XXXXXXXXXXXXXX ...........",\r
 ".........                  ..........",\r
 "........                    .........",\r
 ".....................................",\r
index d1dec06..bfd8658 100644 (file)
@@ -1,9 +1,10 @@
 /* XPM */\r
 static char *cvdd40[] = {\r
 /* columns rows colors chars-per-pixel */\r
-"40 40 2 1",\r
+"40 40 3 1",\r
 "  c black s dark_piece",\r
 ". c green s dark_square",\r
+"X c white s light_piece",\r
 /* pixels */\r
 "........................................",\r
 "........................................",\r
@@ -11,32 +12,32 @@ static char *cvdd40[] = {
 ".....................   ..  ............",\r
 ".....................   .   ............",\r
 "..................          ............",\r
-"................  ...   ..  ............",\r
-"............... ..           ...........",\r
-".............  ..        ..  ...........",\r
-"............  ..           .  ..........",\r
-"............ ..            .  ..........",\r
-"...........  .                 .........",\r
-"........... ..      .          .........",\r
-"........... .                   ........",\r
-".......... ..                   ........",\r
-".......... ..        ..          .......",\r
-".......... .         ....     .. .......",\r
-".......... .          ....     . .......",\r
-"......... ..           ....  .   .......",\r
-"......... ..            ....    ........",\r
-"......... ..             ...............",\r
-"......... ..              ..............",\r
-"......... ..               .............",\r
-"......... ..               .............",\r
-"......... ..                ............",\r
-"......... ..                ............",\r
-"......... ..                ............",\r
+"................  XXX   XX  ............",\r
+"............... XX           ...........",\r
+".............  XX        XX  ...........",\r
+"............  XX           X  ..........",\r
+"............ XX            X  ..........",\r
+"...........  X                 .........",\r
+"........... XX      X          .........",\r
+"........... X                   ........",\r
+".......... XX                   ........",\r
+".......... XX        ..          .......",\r
+".......... X         ....     XX .......",\r
+".......... X          ....     X .......",\r
+"......... XX           ....  X   .......",\r
+"......... XX            ....    ........",\r
+"......... XX             ...............",\r
+"......... XX              ..............",\r
+"......... XX               .............",\r
+"......... XX               .............",\r
+"......... XX                ............",\r
+"......... XX                ............",\r
+"......... XX                ............",\r
 ".........                  .............",\r
-"..........  ..............  ............",\r
+"..........  XXXXXXXXXXXXXX  ............",\r
 ".........                    ...........",\r
 "........                      ..........",\r
-"....... ...................... .........",\r
+"....... XXXXXXXXXXXXXXXXXXXXXX .........",\r
 "......                          ........",\r
 "......                          ........",\r
 "......                          ........",\r
index 90eebf7..4dbdc6c 100644 (file)
@@ -1,9 +1,10 @@
 /* XPM */\r
 static char *cvdd45[] = {\r
 /* columns rows colors chars-per-pixel */\r
-"45 45 2 1",\r
+"45 45 3 1",\r
 "  c black s dark_piece",\r
 ". c green s dark_square",\r
+"X c white s light_piece",\r
 /* pixels */\r
 ".............................................",\r
 ".............................................",\r
@@ -11,37 +12,37 @@ static char *cvdd45[] = {
 ".........................  ...   ............",\r
 "........................    .    ............",\r
 ".....................            ............",\r
-"...................  ...    ..   ............",\r
-".................  ..         .   ...........",\r
-"................  .               ...........",\r
-"...............  .            .    ..........",\r
-"..............  .             ..   ..........",\r
-".............. ..              ..  ..........",\r
-".............  .                    .........",\r
-"............. ..                    .........",\r
-"............  .                     .........",\r
-"............ ..        .             ........",\r
-"............ .                       ........",\r
-"..............          .             .......",\r
-"........... ..          ..             ......",\r
-"........... ..          ....        .. ......",\r
-"........... .            .....       . ......",\r
-".............            ......        ......",\r
-".............             ......  .    ......",\r
-".......... ..              .....      .......",\r
-".......... ..              ...... ...........",\r
-".......... ..               .................",\r
-".......... ..                ................",\r
-".......... ..                 ...............",\r
-".......... ..                 ...............",\r
-".......... ..                  ..............",\r
-".......... .                   ..............",\r
+"...................  XXX    XX   ............",\r
+".................  XX         X   ...........",\r
+"................  X               ...........",\r
+"...............  X            X    ..........",\r
+"..............  X             XX   ..........",\r
+".............. XX              XX  ..........",\r
+".............  X                    .........",\r
+"............. XX                    .........",\r
+"............  X                     .........",\r
+"............ XX        X             ........",\r
+"............ X                       ........",\r
+"............XX          .             .......",\r
+"........... XX          ..             ......",\r
+"........... XX          ....        XX ......",\r
+"........... X            .....       X ......",\r
+"...........XX            ......        ......",\r
+"...........XX             ......  X    ......",\r
+".......... XX              .....      .......",\r
+".......... XX              ...... ...........",\r
+".......... XX               .................",\r
+".......... XX                ................",\r
+".......... XX                 ...............",\r
+".......... XX                 ...............",\r
+".......... XX                  ..............",\r
+".......... X                   ..............",\r
 "..........                     ..............",\r
-".......... ................... ..............",\r
+".......... XXXXXXXXXXXXXXXXXXX ..............",\r
 ".........                       .............",\r
 "........                         ............",\r
 ".......                           ...........",\r
-"......  .........................  ..........",\r
+"......  XXXXXXXXXXXXXXXXXXXXXXXXX  ..........",\r
 "......                             ..........",\r
 "......                             ..........",\r
 "......                             ..........",\r
index ac7fbe1..c282075 100644 (file)
@@ -1,9 +1,10 @@
 /* XPM */\r
 static char *cvdd49[] = {\r
 /* columns rows colors chars-per-pixel */\r
-"49 49 2 1",\r
+"49 49 3 1",\r
 "  c black s dark_piece",\r
 ". c green s dark_square",\r
+"X c white s light_piece",\r
 /* pixels */\r
 ".................................................",\r
 "...........................  ...... .............",\r
@@ -11,41 +12,41 @@ static char *cvdd49[] = {
 "..........................    ..    .............",\r
 "..........................    .     .............",\r
 ".....................              ..............",\r
-"...................   ...     ...   .............",\r
-"..................  ..               ............",\r
-".................  .                 ............",\r
-"................  .             ..    ...........",\r
-"...............  .               ..   ...........",\r
-"............... ..                ..  ...........",\r
-".............. ..                  .  ...........",\r
-".............. ..                      ..........",\r
-"............. ..                       ..........",\r
-"............. ..                        .........",\r
-"............  .          .               ........",\r
-"............ ..                          ........",\r
-"............ ..           .               .......",\r
-"............ .            ..              .......",\r
-"........... ..            ....         ..  ......",\r
-"........... ..             .....       ..  ......",\r
-"........... ..             ......       .  ......",\r
-"........... .               ......   .     ......",\r
-"........... .               .......       .......",\r
-".............                .......     ........",\r
-".......... ..                 ....... ...........",\r
-".......... ..                  ..................",\r
-".......... ..                   .................",\r
-".......... ..                   .................",\r
-".......... ..                    ................",\r
-".......... ..                    ................",\r
-".......... ...                    ...............",\r
-"........... ..................... ...............",\r
+"...................   XXX     XXX   .............",\r
+"..................  XX               ............",\r
+".................  X                 ............",\r
+"................  X             XX    ...........",\r
+"...............  X               XX   ...........",\r
+"............... XX                XX  ...........",\r
+".............. XX                  X  ...........",\r
+".............. XX                      ..........",\r
+"............. XX                       ..........",\r
+"............. XX                        .........",\r
+"............  X          X               ........",\r
+"............ XX                          ........",\r
+"............ XX           .               .......",\r
+"............ X            ..              .......",\r
+"........... XX            ....         XX  ......",\r
+"........... XX             .....       XX  ......",\r
+"........... XX             ......       X  ......",\r
+"........... X               ......   X     ......",\r
+"........... X               .......       .......",\r
+"...........XX                .......     ........",\r
+".......... XX                 ....... ...........",\r
+".......... XX                  ..................",\r
+".......... XX                   .................",\r
+".......... XX                   .................",\r
+".......... XX                    ................",\r
+".......... XX                    ................",\r
+".......... XXX                    ...............",\r
+"........... XXXXXXXXXXXXXXXXXXXXX ...............",\r
 "...........                       ...............",\r
 "...........                       ...............",\r
-"........... ..................... ...............",\r
+"........... XXXXXXXXXXXXXXXXXXXXX ...............",\r
 "..........                         ..............",\r
 ".........                           .............",\r
 "........                             ............",\r
-"....... ............................. ...........",\r
+"....... XXXXXXXXXXXXXXXXXXXXXXXXXXXXX ...........",\r
 ".......                               ...........",\r
 ".......                               ...........",\r
 ".......                               ...........",\r
index b5ff5b2..37fb1b3 100644 (file)
@@ -1,9 +1,10 @@
 /* XPM */\r
 static char *cvdd54[] = {\r
 /* columns rows colors chars-per-pixel */\r
-"54 54 2 1",\r
+"54 54 3 1",\r
 "  c black s dark_piece",\r
 ". c green s dark_square",\r
+"X c white s light_piece",\r
 /* pixels */\r
 "......................................................",\r
 "......................................................",\r
@@ -12,43 +13,43 @@ static char *cvdd54[] = {
 ".............................    ..    ...............",\r
 ".............................    .     ...............",\r
 "........................              ................",\r
-"......................   ...     ...   ...............",\r
-"....................   ....             ..............",\r
-"...................  ...                ..............",\r
-"..................  ...            ..    .............",\r
-".................  ...              ..   .............",\r
-".................  ..                ..  .............",\r
-"................  ...                 .  .............",\r
-"................  ..                      ............",\r
-"................ ...                      ............",\r
-"...............  ..        ..              ...........",\r
-"...............  ..         .               ..........",\r
-"............... ..                          ..........",\r
-"..............  ..           .               .........",\r
-"..............  ..           ..              .........",\r
-".............. ..            ....         ..  ........",\r
-".............  ..             .....       ..  ........",\r
-".............  ..             ......       .  ........",\r
-".............  ..              ......   .     ........",\r
-".............  ..              .......  ..   .........",\r
-".............  .                .......     ..........",\r
-"............. ..                 ....... .............",\r
-"............  ..                  ....................",\r
-"............  ..                   ...................",\r
-"............  ..                   ...................",\r
-"............  ..                    ..................",\r
-"............  ..                    ..................",\r
-"............  ..                     .................",\r
-"............  ..                     .................",\r
+"......................   XXX     XXX   ...............",\r
+"....................   XXXX             ..............",\r
+"...................  XXX                ..............",\r
+"..................  XXX            XX    .............",\r
+".................  XXX              XX   .............",\r
+".................  XX                XX  .............",\r
+"................  XXX                 X  .............",\r
+"................  XX                      ............",\r
+"................ XXX                      ............",\r
+"...............  XX        XX              ...........",\r
+"...............  XX         X               ..........",\r
+"............... XX                          ..........",\r
+"..............  XX           .               .........",\r
+"..............  XX           ..              .........",\r
+".............. XX            ....         XX  ........",\r
+".............  XX             .....       XX  ........",\r
+".............  XX             ......       X  ........",\r
+".............  XX              ......   X     ........",\r
+".............  XX              .......  XX   .........",\r
+".............  X                .......     ..........",\r
+"............. XX                 ....... .............",\r
+"............  XX                  ....................",\r
+"............  XX                   ...................",\r
+"............  XX                   ...................",\r
+"............  XX                    ..................",\r
+"............  XX                    ..................",\r
+"............  XX                     .................",\r
+"............  XX                     .................",\r
 "............                         .................",\r
 "............                         .................",\r
-".............  ....................  .................",\r
-"............   ....................   ................",\r
+".............  XXXXXXXXXXXXXXXXXXXX  .................",\r
+"............   XXXXXXXXXXXXXXXXXXXX   ................",\r
 "...........                            ...............",\r
 "..........                              ..............",\r
 ".........                                .............",\r
-"........   ............................   ............",\r
-"........   ............................   ............",\r
+"........   XXXXXXXXXXXXXXXXXXXXXXXXXXXX   ............",\r
+"........   XXXXXXXXXXXXXXXXXXXXXXXXXXXX   ............",\r
 "........                                  ............",\r
 "........                                  ............",\r
 "........                                  ............",\r
index 7ef841e..0ddcd76 100644 (file)
@@ -1,9 +1,10 @@
 /* XPM */\r
 static char *cvdd58[] = {\r
 /* columns rows colors chars-per-pixel */\r
-"58 58 2 1",\r
+"58 58 3 1",\r
 "  c black s dark_piece",\r
 ". c green s dark_square",\r
+"X c white s light_piece",\r
 /* pixels */\r
 "..........................................................",\r
 "................................. ........ ...............",\r
@@ -11,48 +12,48 @@ static char *cvdd58[] = {
 "...............................    ....    ...............",\r
 "...............................     ..     ...............",\r
 "...........................                ...............",\r
-"........................    ...     ...   ................",\r
-".......................  .....      ....   ...............",\r
-"......................  ...                 ..............",\r
-".....................  ..                    .............",\r
-"....................  .                      .............",\r
-"...................  .                 .      ............",\r
-"..................  ..                 ...    ............",\r
-".................. ..                   ..    ............",\r
-"................. ...                    ..   ............",\r
-"................  ..                           ...........",\r
-"................ ...                           ...........",\r
-"...............  ..         .                  ...........",\r
-"............... ...         ..                  ..........",\r
-"............... ..           .                  ..........",\r
-"..............  ..                               .........",\r
-".............. ..                                 ........",\r
-".............. ..             .                   ........",\r
-".............  ..             ..                   .......",\r
-".............  ..             ....                 .......",\r
-"............. ..               .....           ..   ......",\r
-"............  ..               .......         ..   ......",\r
-"............  ..                .......             ......",\r
-"............  ..                 .......            ......",\r
-"............  ..                 ........    ..     ......",\r
-"............  ..                  ........    ..   .......",\r
-"............  ..                   ........       ........",\r
-"...........  ...                    .......  .............",\r
-"...........  ..                      .....................",\r
-"...........  ..                       ....................",\r
-"...........  ..                        ...................",\r
-"...........  ..                        ...................",\r
-"...........  ..                        ...................",\r
-"...........  ..                         ..................",\r
+"........................    XXX     XXX   ................",\r
+".......................  XXXXX      XXXX   ...............",\r
+"......................  XXX                 ..............",\r
+".....................  XX                    .............",\r
+"....................  X                      .............",\r
+"...................  X                 X      ............",\r
+"..................  XX                 XXX    ............",\r
+".................. XX                   XX    ............",\r
+"................. XXX                    XX   ............",\r
+"................  XX                           ...........",\r
+"................ XXX                           ...........",\r
+"...............  XX         X                  ...........",\r
+"............... XXX         XX                  ..........",\r
+"............... XX           X                  ..........",\r
+"..............  XX                               .........",\r
+".............. XX                                 ........",\r
+".............. XX             .                   ........",\r
+".............  XX             ..                   .......",\r
+".............  XX             ....                 .......",\r
+"............. XX               .....           XX   ......",\r
+"............  XX               .......         XX   ......",\r
+"............  XX                .......             ......",\r
+"............  XX                 .......            ......",\r
+"............  XX                 ........    XX     ......",\r
+"............  XX                  ........    XX   .......",\r
+"............  XX                   ........       ........",\r
+"...........  XXX                    .......  .............",\r
+"...........  XX                      .....................",\r
+"...........  XX                       ....................",\r
+"...........  XX                        ...................",\r
+"...........  XX                        ...................",\r
+"...........  XX                        ...................",\r
+"...........  XX                         ..................",\r
 "...........                             ..................",\r
 "...........                             ..................",\r
-"...........    ........................  .................",\r
-"............   ........................  .................",\r
+"...........    XXXXXXXXXXXXXXXXXXXXXXXX  .................",\r
+"............   XXXXXXXXXXXXXXXXXXXXXXXX  .................",\r
 "...........                               ................",\r
 ".........                                  ...............",\r
 "........                                    ..............",\r
-".......   ................................   .............",\r
-".......   ................................   .............",\r
+".......   XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX   .............",\r
+".......   XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX   .............",\r
 ".......                                      .............",\r
 ".......                                      .............",\r
 ".......                                      .............",\r
index 49591c3..ed0736b 100644 (file)
@@ -1,9 +1,10 @@
 /* XPM */\r
 static char *cvdd64[] = {\r
 /* columns rows colors chars-per-pixel */\r
-"64 64 2 1",\r
+"64 64 3 1",\r
 "  c black s dark_piece",\r
 ". c green s dark_square",\r
+"X c white s light_piece",\r
 /* pixels */\r
 "................................................................",\r
 "................................................................",\r
@@ -13,49 +14,49 @@ static char *cvdd64[] = {
 ".................................    ....    ...................",\r
 ".................................     ..     ...................",\r
 ".............................                ...................",\r
-"..........................    ...     ...   ....................",\r
-".........................  .....      ....   ...................",\r
-"........................  ...                 ..................",\r
-".......................  ..                    .................",\r
-"......................  .                      .................",\r
-".....................  .                 .      ................",\r
-"....................  ..                 ...    ................",\r
-".................... ..                   ..    ................",\r
-"................... ...                    ..   ................",\r
-"..................  ..                           ...............",\r
-".................. ...                           ...............",\r
-".................  ..         .                  ...............",\r
-"................. ...         ..                  ..............",\r
-"................. ..           .                  ..............",\r
-"................  ..                               .............",\r
-"................ ..                                 ............",\r
-"................ ..             .                   ............",\r
-"...............  ..             ..                   ...........",\r
-"...............  ..             ....                 ...........",\r
-"...............  .              ......           ..   ..........",\r
-"............... ..               .......         ..   ..........",\r
-"..............  ..               ........             ..........",\r
-"..............  ..                ........            ..........",\r
-"..............  ..                 ........    ..     ..........",\r
-"..............  ..                 .........    ..   ...........",\r
-"..............  ..                  .........       ............",\r
-"..............  ..                   ........  .................",\r
-".............  ...                    ..........................",\r
-".............  ..                      .........................",\r
-".............  ..                       ........................",\r
-".............  ..                        .......................",\r
-".............  ..                        .......................",\r
-".............  ..                        .......................",\r
-".............  ..                         ......................",\r
+"..........................    XXX     XXX   ....................",\r
+".........................  XXXXX      XXXX   ...................",\r
+"........................  XXX                 ..................",\r
+".......................  XX                    .................",\r
+"......................  X                      .................",\r
+".....................  X                 X      ................",\r
+"....................  XX                 XXX    ................",\r
+".................... XX                   XX    ................",\r
+"................... XXX                    XX   ................",\r
+"..................  XX                           ...............",\r
+".................. XXX                           ...............",\r
+".................  XX         X                  ...............",\r
+"................. XXX         XX                  ..............",\r
+"................. XX           X                  ..............",\r
+"................  XX                               .............",\r
+"................ XX                                 ............",\r
+"................ XX             .                   ............",\r
+"...............  XX             ..                   ...........",\r
+"...............  XX             ....                 ...........",\r
+"...............  X              ......           XX   ..........",\r
+"............... XX               .......         XX   ..........",\r
+"..............  XX               ........             ..........",\r
+"..............  XX                ........            ..........",\r
+"..............  XX                 ........    XX     ..........",\r
+"..............  XX                 .........    XX   ...........",\r
+"..............  XX                  .........       ............",\r
+"..............  XX                   ........  .................",\r
+".............  XXX                    ..........................",\r
+".............  XX                      .........................",\r
+".............  XX                       ........................",\r
+".............  XX                        .......................",\r
+".............  XX                        .......................",\r
+".............  XX                        .......................",\r
+".............  XX                         ......................",\r
 ".............                             ......................",\r
 "..............                            ......................",\r
-"..............   ......................   ......................",\r
-".............   ........................   .....................",\r
+"..............   XXXXXXXXXXXXXXXXXXXXXX   ......................",\r
+".............   XXXXXXXXXXXXXXXXXXXXXXXX   .....................",\r
 "............                                ....................",\r
 "..........                                    ..................",\r
 ".........                                      .................",\r
-"........   ..................................   ................",\r
-"........  ....................................  ................",\r
+"........   XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX   ................",\r
+"........  XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX  ................",\r
 "........                                        ................",\r
 "........                                        ................",\r
 "........                                        ................",\r
index 0c9150a..d9339ee 100644 (file)
@@ -1,9 +1,10 @@
 /* XPM */\r
 static char *cvdd72[] = {\r
 /* columns rows colors chars-per-pixel */\r
-"72 72 2 1",\r
+"72 72 3 1",\r
 "  c black s dark_piece",\r
 ". c green s dark_square",\r
+"X c white s light_piece",\r
 /* pixels */\r
 "........................................................................",\r
 "........................................................................",\r
@@ -15,53 +16,53 @@ static char *cvdd72[] = {
 "......................................      ..      ....................",\r
 "..................................                  ....................",\r
 "...............................                     ....................",\r
-".............................      ....     ..      ....................",\r
-"...........................      .....      .....    ...................",\r
-"..........................     .....          ...     ..................",\r
-".........................     ....                     .................",\r
-"........................    ....                       .................",\r
-".......................    ....                ....     ................",\r
-"......................    ....                  ....    ................",\r
-"......................   ....                   ....    ................",\r
-".....................    ...                     ...    ................",\r
-".....................   ....                       .     ...............",\r
-"....................   ....                              ...............",\r
-"....................   ....                              ...............",\r
-"...................   ....          .                     ..............",\r
-"...................   ....          .                     ..............",\r
-"...................  ....           ..                     .............",\r
-"..................   ....            .                      ............",\r
-"..................   ....                                    ...........",\r
-"..................  ....                                     ...........",\r
-".................   ....              .                       ..........",\r
-".................   ....              ...                     ..........",\r
-".................  ....               .....              ..    .........",\r
-".................  ....                .....             ...   .........",\r
-"................   ....                .......           ...   .........",\r
-"................   ....                 .......           ..   .........",\r
-"................  .....                 ........     ..        .........",\r
-"................  ....                   ........     .        .........",\r
-"................  ....                    ........    ..       .........",\r
-"................  ....                     ........           ..........",\r
-"................  ....                      .......         ............",\r
-"...............   ....                       .......   .................",\r
-"...............   ....                        ..........................",\r
-"...............   ....                         .........................",\r
-"...............   ....                         .........................",\r
-"...............   ....                          ........................",\r
-"...............  .....                           .......................",\r
-"...............  .....                           .......................",\r
-"...............  ....                             ......................",\r
-"...............  ....                             ......................",\r
+".............................      XXXX     XX      ....................",\r
+"...........................      XXXXX      XXXXX    ...................",\r
+"..........................     XXXXX          XXX     ..................",\r
+".........................     XXXX                     .................",\r
+"........................    XXXX                       .................",\r
+".......................    XXXX                XXXX     ................",\r
+"......................    XXXX                  XXXX    ................",\r
+"......................   XXXX                   XXXX    ................",\r
+".....................    XXX                     XXX    ................",\r
+".....................   XXXX                       X     ...............",\r
+"....................   XXXX                              ...............",\r
+"....................   XXXX                              ...............",\r
+"...................   XXXX          X                     ..............",\r
+"...................   XXXX          X                     ..............",\r
+"...................  XXXX           XX                     .............",\r
+"..................   XXXX            X                      ............",\r
+"..................   XXXX                                    ...........",\r
+"..................  XXXX                                     ...........",\r
+".................   XXXX              .                       ..........",\r
+".................   XXXX              ...                     ..........",\r
+".................  XXXX               .....              XX    .........",\r
+".................  XXXX                .....             XXX   .........",\r
+"................   XXXX                .......           XXX   .........",\r
+"................   XXXX                 .......           XX   .........",\r
+"................  XXXXX                 ........     XX        .........",\r
+"................  XXXX                   ........     X        .........",\r
+"................  XXXX                    ........    XX       .........",\r
+"................  XXXX                     ........           ..........",\r
+"................  XXXX                      .......         ............",\r
+"...............   XXXX                       .......   .................",\r
+"...............   XXXX                        ..........................",\r
+"...............   XXXX                         .........................",\r
+"...............   XXXX                         .........................",\r
+"...............   XXXX                          ........................",\r
+"...............  XXXXX                           .......................",\r
+"...............  XXXXX                           .......................",\r
+"...............  XXXX                             ......................",\r
+"...............  XXXX                             ......................",\r
 "...............                                   ......................",\r
 "...............                                   ......................",\r
-"...............  ..............................   ......................",\r
-"..............   ..............................   ......................",\r
+"...............  XXXXXXXXXXXXXXXXXXXXXXXXXXXXXX   ......................",\r
+"..............   XXXXXXXXXXXXXXXXXXXXXXXXXXXXXX   ......................",\r
 ".............                                      .....................",\r
 "...........                                          ...................",\r
 "..........                                            ..................",\r
-".........   ........................................   .................",\r
-".........   ........................................   .................",\r
+".........   XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX   .................",\r
+".........   XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX   .................",\r
 ".........                                              .................",\r
 ".........                                              .................",\r
 ".........                                              .................",\r
index f7d3786..0d1a7fa 100644 (file)
@@ -1,37 +1,38 @@
 /* XPM */\r
 static char *cvdl33[] = {\r
 /* columns rows colors chars-per-pixel */\r
-"33 33 2 1",\r
+"33 33 3 1",\r
 "  c black s dark_piece",\r
 ". c gray s light_square",\r
+"X c white s light_piece",\r
 /* pixels */\r
 ".................................",\r
 ".................................",\r
 "................... ... .........",\r
 "..................   .  .........",\r
 "...............         .........",\r
-".............  ...   ..  ........",\r
-"...........  ..       .. ........",\r
-"........... ..        . . .......",\r
-".......... ..          .. .......",\r
-".........  .               ......",\r
-".........  .     .         ......",\r
-"......... ..                .....",\r
-"........  .                 .....",\r
-"........  .       ..      .. ....",\r
-"........ ..       ....     . ....",\r
-"........ ..        ....      ....",\r
-".......  .          ....    .....",\r
-".......  .           ...  .......",\r
-"....... ..            ...........",\r
-"....... ..            ...........",\r
-"....... ..             ..........",\r
+".............  XXX   XX  ........",\r
+"...........  XX       XX ........",\r
+"........... XX        X X .......",\r
+".......... XX          XX .......",\r
+".........  X               ......",\r
+".........  X     X         ......",\r
+"......... XX                .....",\r
+"........  X                 .....",\r
+"........  X       ..      XX ....",\r
+"........ XX       ....     X ....",\r
+"........ XX        ....      ....",\r
+".......  X          ....    .....",\r
+".......  X           ...  .......",\r
+"....... XX            ...........",\r
+"....... XX            ...........",\r
+"....... XX             ..........",\r
 ".......                ..........",\r
 ".......                ..........",\r
-"........ ............. ..........",\r
+"........ XXXXXXXXXXXXX ..........",\r
 ".......                 .........",\r
 "......                   ........",\r
-".....  .................  .......",\r
+".....  XXXXXXXXXXXXXXXXX  .......",\r
 ".....                     .......",\r
 ".....                     .......",\r
 ".....     ...     ...     .......",\r
index cbaea28..58ce819 100644 (file)
@@ -1,36 +1,37 @@
 /* XPM */\r
 static char *cvdl37[] = {\r
 /* columns rows colors chars-per-pixel */\r
-"37 37 2 1",\r
+"37 37 3 1",\r
 "  c black s dark_piece",\r
 ". c gray s light_square",\r
+"X c white s light_piece",\r
 /* pixels */\r
 ".....................................",\r
 "..................... .... ..........",\r
 "....................   ..  ..........",\r
 "....................   .   ..........",\r
 "................           ..........",\r
-"...............  ...   ..  ..........",\r
-"..............  .           .........",\r
-".............  .        ..  .........",\r
-"............  .           .  ........",\r
-"............ ..           .  ........",\r
-"...........  .                .......",\r
-"........... ..     .          .......",\r
-"........... .                  ......",\r
-".......... ..                  ......",\r
-".......... ..       ..          .....",\r
-".......... .        ....     .. .....",\r
-"............         ....     . .....",\r
-"......... ..          ....  .   .....",\r
-"......... ..          .....    ......",\r
-"......... ..           ..............",\r
-"......... ..            .............",\r
-"......... ..             ............",\r
-"......... ..              ...........",\r
-"......... .               ...........",\r
+"...............  XXX   XX  ..........",\r
+"..............  X           .........",\r
+".............  X        XX  .........",\r
+"............  X           X  ........",\r
+"............ XX           X  ........",\r
+"...........  X                .......",\r
+"........... XX     X          .......",\r
+"........... X                  ......",\r
+".......... XX                  ......",\r
+".......... XX       ..          .....",\r
+".......... X        ....     XX .....",\r
+"..........XX         ....     X .....",\r
+"......... XX          ....  X   .....",\r
+"......... XX          .....    ......",\r
+"......... XX           ..............",\r
+"......... XX            .............",\r
+"......... XX             ............",\r
+"......... XX              ...........",\r
+"......... X               ...........",\r
 ".........                 ...........",\r
-".......... .............. ...........",\r
+".......... XXXXXXXXXXXXXX ...........",\r
 ".........                  ..........",\r
 "........                    .........",\r
 ".....................................",\r
index 58aadb1..2cdc541 100644 (file)
@@ -1,9 +1,10 @@
 /* XPM */\r
 static char *cvdl40[] = {\r
 /* columns rows colors chars-per-pixel */\r
-"40 40 2 1",\r
+"40 40 3 1",\r
 "  c black s dark_piece",\r
 ". c gray s light_square",\r
+"X c white s light_piece",\r
 /* pixels */\r
 "........................................",\r
 "........................................",\r
@@ -11,32 +12,32 @@ static char *cvdl40[] = {
 ".....................   ..  ............",\r
 ".....................   .   ............",\r
 "..................          ............",\r
-"................  ...   ..  ............",\r
-"............... ..           ...........",\r
-".............  ..        ..  ...........",\r
-"............  ..           .  ..........",\r
-"............ ..            .  ..........",\r
-"...........  .                 .........",\r
-"........... ..      .          .........",\r
-"........... .                   ........",\r
-".......... ..                   ........",\r
-".......... ..        ..          .......",\r
-".......... .         ....     .. .......",\r
-".......... .          ....     . .......",\r
-"......... ..           ....  .   .......",\r
-"......... ..            ....    ........",\r
-"......... ..             ...............",\r
-"......... ..              ..............",\r
-"......... ..               .............",\r
-"......... ..               .............",\r
-"......... ..                ............",\r
-"......... ..                ............",\r
-"......... ..                ............",\r
+"................  XXX   XX  ............",\r
+"............... XX           ...........",\r
+".............  XX        XX  ...........",\r
+"............  XX           X  ..........",\r
+"............ XX            X  ..........",\r
+"...........  X                 .........",\r
+"........... XX      X          .........",\r
+"........... X                   ........",\r
+".......... XX                   ........",\r
+".......... XX        ..          .......",\r
+".......... X         ....     XX .......",\r
+".......... X          ....     X .......",\r
+"......... XX           ....  X   .......",\r
+"......... XX            ....    ........",\r
+"......... XX             ...............",\r
+"......... XX              ..............",\r
+"......... XX               .............",\r
+"......... XX               .............",\r
+"......... XX                ............",\r
+"......... XX                ............",\r
+"......... XX                ............",\r
 ".........                  .............",\r
-"..........  ..............  ............",\r
+"..........  XXXXXXXXXXXXXX  ............",\r
 ".........                    ...........",\r
 "........                      ..........",\r
-"....... ...................... .........",\r
+"....... XXXXXXXXXXXXXXXXXXXXXX .........",\r
 "......                          ........",\r
 "......                          ........",\r
 "......                          ........",\r
index 9cdfc12..92e9061 100644 (file)
@@ -1,9 +1,10 @@
 /* XPM */\r
 static char *cvdl45[] = {\r
 /* columns rows colors chars-per-pixel */\r
-"45 45 2 1",\r
+"45 45 3 1",\r
 "  c black s dark_piece",\r
 ". c gray s light_square",\r
+"X c white s light_piece",\r
 /* pixels */\r
 ".............................................",\r
 ".............................................",\r
@@ -11,37 +12,37 @@ static char *cvdl45[] = {
 ".........................  ...   ............",\r
 "........................    .    ............",\r
 ".....................            ............",\r
-"...................  ...    ..   ............",\r
-".................  ..         .   ...........",\r
-"................  .               ...........",\r
-"...............  .            .    ..........",\r
-"..............  .             ..   ..........",\r
-".............. ..              ..  ..........",\r
-".............  .                    .........",\r
-"............. ..                    .........",\r
-"............  .                     .........",\r
-"............ ..        .             ........",\r
-"............ .                       ........",\r
-"..............          .             .......",\r
-"........... ..          ..             ......",\r
-"........... ..          ....        .. ......",\r
-"........... .            .....       . ......",\r
-".............            ......        ......",\r
-".............             ......  .    ......",\r
-".......... ..              .....      .......",\r
-".......... ..              ...... ...........",\r
-".......... ..               .................",\r
-".......... ..                ................",\r
-".......... ..                 ...............",\r
-".......... ..                 ...............",\r
-".......... ..                  ..............",\r
-".......... .                   ..............",\r
+"...................  XXX    XX   ............",\r
+".................  XX         X   ...........",\r
+"................  X               ...........",\r
+"...............  X            X    ..........",\r
+"..............  X             XX   ..........",\r
+".............. XX              XX  ..........",\r
+".............  X                    .........",\r
+"............. XX                    .........",\r
+"............  X                     .........",\r
+"............ XX        X             ........",\r
+"............ X                       ........",\r
+"............XX          .             .......",\r
+"........... XX          ..             ......",\r
+"........... XX          ....        XX ......",\r
+"........... X            .....       X ......",\r
+"...........XX            ......        ......",\r
+"...........XX             ......  X    ......",\r
+".......... XX              .....      .......",\r
+".......... XX              ...... ...........",\r
+".......... XX               .................",\r
+".......... XX                ................",\r
+".......... XX                 ...............",\r
+".......... XX                 ...............",\r
+".......... XX                  ..............",\r
+".......... X                   ..............",\r
 "..........                     ..............",\r
-".......... ................... ..............",\r
+".......... XXXXXXXXXXXXXXXXXXX ..............",\r
 ".........                       .............",\r
 "........                         ............",\r
 ".......                           ...........",\r
-"......  .........................  ..........",\r
+"......  XXXXXXXXXXXXXXXXXXXXXXXXX  ..........",\r
 "......                             ..........",\r
 "......                             ..........",\r
 "......                             ..........",\r
index c978373..8226e57 100644 (file)
@@ -1,9 +1,10 @@
 /* XPM */\r
 static char *cvdl49[] = {\r
 /* columns rows colors chars-per-pixel */\r
-"49 49 2 1",\r
+"49 49 3 1",\r
 "  c black s dark_piece",\r
 ". c gray s light_square",\r
+"X c white s light_piece",\r
 /* pixels */\r
 ".................................................",\r
 "...........................  ...... .............",\r
@@ -11,41 +12,41 @@ static char *cvdl49[] = {
 "..........................    ..    .............",\r
 "..........................    .     .............",\r
 ".....................              ..............",\r
-"...................   ...     ...   .............",\r
-"..................  ..               ............",\r
-".................  .                 ............",\r
-"................  .             ..    ...........",\r
-"...............  .               ..   ...........",\r
-"............... ..                ..  ...........",\r
-".............. ..                  .  ...........",\r
-".............. ..                      ..........",\r
-"............. ..                       ..........",\r
-"............. ..                        .........",\r
-"............  .          .               ........",\r
-"............ ..                          ........",\r
-"............ ..           .               .......",\r
-"............ .            ..              .......",\r
-"........... ..            ....         ..  ......",\r
-"........... ..             .....       ..  ......",\r
-"........... ..             ......       .  ......",\r
-"........... .               ......   .     ......",\r
-"........... .               .......       .......",\r
-".............                .......     ........",\r
-".......... ..                 ....... ...........",\r
-".......... ..                  ..................",\r
-".......... ..                   .................",\r
-".......... ..                   .................",\r
-".......... ..                    ................",\r
-".......... ..                    ................",\r
-".......... ...                    ...............",\r
-"........... ..................... ...............",\r
+"...................   XXX     XXX   .............",\r
+"..................  XX               ............",\r
+".................  X                 ............",\r
+"................  X             XX    ...........",\r
+"...............  X               XX   ...........",\r
+"............... XX                XX  ...........",\r
+".............. XX                  X  ...........",\r
+".............. XX                      ..........",\r
+"............. XX                       ..........",\r
+"............. XX                        .........",\r
+"............  X          X               ........",\r
+"............ XX                          ........",\r
+"............ XX           .               .......",\r
+"............ X            ..              .......",\r
+"........... XX            ....         XX  ......",\r
+"........... XX             .....       XX  ......",\r
+"........... XX             ......       X  ......",\r
+"........... X               ......   X     ......",\r
+"........... X               .......       .......",\r
+"...........XX                .......     ........",\r
+".......... XX                 ....... ...........",\r
+".......... XX                  ..................",\r
+".......... XX                   .................",\r
+".......... XX                   .................",\r
+".......... XX                    ................",\r
+".......... XX                    ................",\r
+".......... XXX                    ...............",\r
+"........... XXXXXXXXXXXXXXXXXXXXX ...............",\r
 "...........                       ...............",\r
 "...........                       ...............",\r
-"........... ..................... ...............",\r
+"........... XXXXXXXXXXXXXXXXXXXXX ...............",\r
 "..........                         ..............",\r
 ".........                           .............",\r
 "........                             ............",\r
-"....... ............................. ...........",\r
+"....... XXXXXXXXXXXXXXXXXXXXXXXXXXXXX ...........",\r
 ".......                               ...........",\r
 ".......                               ...........",\r
 ".......                               ...........",\r
index 3a14562..822878e 100644 (file)
@@ -1,9 +1,10 @@
 /* XPM */\r
 static char *cvdl54[] = {\r
 /* columns rows colors chars-per-pixel */\r
-"54 54 2 1",\r
+"54 54 3 1",\r
 "  c black s dark_piece",\r
 ". c gray s light_square",\r
+"X c white s light_piece",\r
 /* pixels */\r
 "......................................................",\r
 "......................................................",\r
@@ -12,43 +13,43 @@ static char *cvdl54[] = {
 ".............................    ..    ...............",\r
 ".............................    .     ...............",\r
 "........................              ................",\r
-"......................   ...     ...   ...............",\r
-"....................   ....             ..............",\r
-"...................  ...                ..............",\r
-"..................  ...            ..    .............",\r
-".................  ...              ..   .............",\r
-".................  ..                ..  .............",\r
-"................  ...                 .  .............",\r
-"................  ..                      ............",\r
-"................ ...                      ............",\r
-"...............  ..        ..              ...........",\r
-"...............  ..         .               ..........",\r
-"............... ..                          ..........",\r
-"..............  ..           .               .........",\r
-"..............  ..           ..              .........",\r
-".............. ..            ....         ..  ........",\r
-".............  ..             .....       ..  ........",\r
-".............  ..             ......       .  ........",\r
-".............  ..              ......   .     ........",\r
-".............  ..              .......  ..   .........",\r
-".............  .                .......     ..........",\r
-"............. ..                 ....... .............",\r
-"............  ..                  ....................",\r
-"............  ..                   ...................",\r
-"............  ..                   ...................",\r
-"............  ..                    ..................",\r
-"............  ..                    ..................",\r
-"............  ..                     .................",\r
-"............  ..                     .................",\r
+"......................   XXX     XXX   ...............",\r
+"....................   XXXX             ..............",\r
+"...................  XXX                ..............",\r
+"..................  XXX            XX    .............",\r
+".................  XXX              XX   .............",\r
+".................  XX                XX  .............",\r
+"................  XXX                 X  .............",\r
+"................  XX                      ............",\r
+"................ XXX                      ............",\r
+"...............  XX        XX              ...........",\r
+"...............  XX         X               ..........",\r
+"............... XX                          ..........",\r
+"..............  XX           .               .........",\r
+"..............  XX           ..              .........",\r
+".............. XX            ....         XX  ........",\r
+".............  XX             .....       XX  ........",\r
+".............  XX             ......       X  ........",\r
+".............  XX              ......   X     ........",\r
+".............  XX              .......  XX   .........",\r
+".............  X                .......     ..........",\r
+"............. XX                 ....... .............",\r
+"............  XX                  ....................",\r
+"............  XX                   ...................",\r
+"............  XX                   ...................",\r
+"............  XX                    ..................",\r
+"............  XX                    ..................",\r
+"............  XX                     .................",\r
+"............  XX                     .................",\r
 "............                         .................",\r
 "............                         .................",\r
-".............  ....................  .................",\r
-"............   ....................   ................",\r
+".............  XXXXXXXXXXXXXXXXXXXX  .................",\r
+"............   XXXXXXXXXXXXXXXXXXXX   ................",\r
 "...........                            ...............",\r
 "..........                              ..............",\r
 ".........                                .............",\r
-"........   ............................   ............",\r
-"........   ............................   ............",\r
+"........   XXXXXXXXXXXXXXXXXXXXXXXXXXXX   ............",\r
+"........   XXXXXXXXXXXXXXXXXXXXXXXXXXXX   ............",\r
 "........                                  ............",\r
 "........                                  ............",\r
 "........                                  ............",\r
index 96ab5b5..c422585 100644 (file)
@@ -1,9 +1,10 @@
 /* XPM */\r
 static char *cvdl58[] = {\r
 /* columns rows colors chars-per-pixel */\r
-"58 58 2 1",\r
+"58 58 3 1",\r
 "  c black s dark_piece",\r
 ". c gray s light_square",\r
+"X c white s light_piece",\r
 /* pixels */\r
 "..........................................................",\r
 "................................. ........ ...............",\r
@@ -11,48 +12,48 @@ static char *cvdl58[] = {
 "...............................    ....    ...............",\r
 "...............................     ..     ...............",\r
 "...........................                ...............",\r
-"........................    ...     ...   ................",\r
-".......................  .....      ....   ...............",\r
-"......................  ...                 ..............",\r
-".....................  ..                    .............",\r
-"....................  .                      .............",\r
-"...................  .                 .      ............",\r
-"..................  ..                 ...    ............",\r
-".................. ..                   ..    ............",\r
-"................. ...                    ..   ............",\r
-"................  ..                           ...........",\r
-"................ ...                           ...........",\r
-"...............  ..         .                  ...........",\r
-"............... ...         ..                  ..........",\r
-"............... ..           .                  ..........",\r
-"..............  ..                               .........",\r
-".............. ..                                 ........",\r
-".............. ..             .                   ........",\r
-".............  ..             ..                   .......",\r
-".............  ..             ....                 .......",\r
-"............. ..               .....           ..   ......",\r
-"............  ..               .......         ..   ......",\r
-"............  ..                .......             ......",\r
-"............  ..                 .......            ......",\r
-"............  ..                 ........    ..     ......",\r
-"............  ..                  ........    ..   .......",\r
-"............  ..                   ........       ........",\r
-"...........  ...                    .......  .............",\r
-"...........  ..                      .....................",\r
-"...........  ..                       ....................",\r
-"...........  ..                        ...................",\r
-"...........  ..                        ...................",\r
-"...........  ..                        ...................",\r
-"...........  ..                         ..................",\r
+"........................    XXX     XXX   ................",\r
+".......................  XXXXX      XXXX   ...............",\r
+"......................  XXX                 ..............",\r
+".....................  XX                    .............",\r
+"....................  X                      .............",\r
+"...................  X                 X      ............",\r
+"..................  XX                 XXX    ............",\r
+".................. XX                   XX    ............",\r
+"................. XXX                    XX   ............",\r
+"................  XX                           ...........",\r
+"................ XXX                           ...........",\r
+"...............  XX         X                  ...........",\r
+"............... XXX         XX                  ..........",\r
+"............... XX           X                  ..........",\r
+"..............  XX                               .........",\r
+".............. XX                                 ........",\r
+".............. XX             .                   ........",\r
+".............  XX             ..                   .......",\r
+".............  XX             ....                 .......",\r
+"............. XX               .....           XX   ......",\r
+"............  XX               .......         XX   ......",\r
+"............  XX                .......             ......",\r
+"............  XX                 .......            ......",\r
+"............  XX                 ........    XX     ......",\r
+"............  XX                  ........    XX   .......",\r
+"............  XX                   ........       ........",\r
+"...........  XXX                    .......  .............",\r
+"...........  XX                      .....................",\r
+"...........  XX                       ....................",\r
+"...........  XX                        ...................",\r
+"...........  XX                        ...................",\r
+"...........  XX                        ...................",\r
+"...........  XX                         ..................",\r
 "...........                             ..................",\r
 "...........                             ..................",\r
-"...........    ........................  .................",\r
-"............   ........................  .................",\r
+"...........    XXXXXXXXXXXXXXXXXXXXXXXX  .................",\r
+"............   XXXXXXXXXXXXXXXXXXXXXXXX  .................",\r
 "...........                               ................",\r
 ".........                                  ...............",\r
 "........                                    ..............",\r
-".......   ................................   .............",\r
-".......   ................................   .............",\r
+".......   XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX   .............",\r
+".......   XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX   .............",\r
 ".......                                      .............",\r
 ".......                                      .............",\r
 ".......                                      .............",\r
index 7d2c712..9592cce 100644 (file)
@@ -1,9 +1,10 @@
 /* XPM */\r
 static char *cvdl64[] = {\r
 /* columns rows colors chars-per-pixel */\r
-"64 64 2 1",\r
+"64 64 3 1",\r
 "  c black s dark_piece",\r
 ". c gray s light_square",\r
+"X c white s light_piece",\r
 /* pixels */\r
 "................................................................",\r
 "................................................................",\r
@@ -13,49 +14,49 @@ static char *cvdl64[] = {
 ".................................    ....    ...................",\r
 ".................................     ..     ...................",\r
 ".............................                ...................",\r
-"..........................    ...     ...   ....................",\r
-".........................  .....      ....   ...................",\r
-"........................  ...                 ..................",\r
-".......................  ..                    .................",\r
-"......................  .                      .................",\r
-".....................  .                 .      ................",\r
-"....................  ..                 ...    ................",\r
-".................... ..                   ..    ................",\r
-"................... ...                    ..   ................",\r
-"..................  ..                           ...............",\r
-".................. ...                           ...............",\r
-".................  ..         .                  ...............",\r
-"................. ...         ..                  ..............",\r
-"................. ..           .                  ..............",\r
-"................  ..                               .............",\r
-"................ ..                                 ............",\r
-"................ ..             .                   ............",\r
-"...............  ..             ..                   ...........",\r
-"...............  ..             ....                 ...........",\r
-"...............  .              ......           ..   ..........",\r
-"............... ..               .......         ..   ..........",\r
-"..............  ..               ........             ..........",\r
-"..............  ..                ........            ..........",\r
-"..............  ..                 ........    ..     ..........",\r
-"..............  ..                 .........    ..   ...........",\r
-"..............  ..                  .........       ............",\r
-"..............  ..                   ........  .................",\r
-".............  ...                    ..........................",\r
-".............  ..                      .........................",\r
-".............  ..                       ........................",\r
-".............  ..                        .......................",\r
-".............  ..                        .......................",\r
-".............  ..                        .......................",\r
-".............  ..                         ......................",\r
+"..........................    XXX     XXX   ....................",\r
+".........................  XXXXX      XXXX   ...................",\r
+"........................  XXX                 ..................",\r
+".......................  XX                    .................",\r
+"......................  X                      .................",\r
+".....................  X                 X      ................",\r
+"....................  XX                 XXX    ................",\r
+".................... XX                   XX    ................",\r
+"................... XXX                    XX   ................",\r
+"..................  XX                           ...............",\r
+".................. XXX                           ...............",\r
+".................  XX         X                  ...............",\r
+"................. XXX         XX                  ..............",\r
+"................. XX           X                  ..............",\r
+"................  XX                               .............",\r
+"................ XX                                 ............",\r
+"................ XX             .                   ............",\r
+"...............  XX             ..                   ...........",\r
+"...............  XX             ....                 ...........",\r
+"...............  X              ......           XX   ..........",\r
+"............... XX               .......         XX   ..........",\r
+"..............  XX               ........             ..........",\r
+"..............  XX                ........            ..........",\r
+"..............  XX                 ........    XX     ..........",\r
+"..............  XX                 .........    XX   ...........",\r
+"..............  XX                  .........       ............",\r
+"..............  XX                   ........  .................",\r
+".............  XXX                    ..........................",\r
+".............  XX                      .........................",\r
+".............  XX                       ........................",\r
+".............  XX                        .......................",\r
+".............  XX                        .......................",\r
+".............  XX                        .......................",\r
+".............  XX                         ......................",\r
 ".............                             ......................",\r
 "..............                            ......................",\r
-"..............   ......................   ......................",\r
-".............   ........................   .....................",\r
+"..............   XXXXXXXXXXXXXXXXXXXXXX   ......................",\r
+".............   XXXXXXXXXXXXXXXXXXXXXXXX   .....................",\r
 "............                                ....................",\r
 "..........                                    ..................",\r
 ".........                                      .................",\r
-"........   ..................................   ................",\r
-"........  ....................................  ................",\r
+"........   XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX   ................",\r
+"........  XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX  ................",\r
 "........                                        ................",\r
 "........                                        ................",\r
 "........                                        ................",\r
index 984d063..a74c665 100644 (file)
@@ -1,9 +1,10 @@
 /* XPM */\r
 static char *cvdl72[] = {\r
 /* columns rows colors chars-per-pixel */\r
-"72 72 2 1",\r
+"72 72 3 1",\r
 "  c black s dark_piece",\r
 ". c gray s light_square",\r
+"X c white s light_piece",\r
 /* pixels */\r
 "........................................................................",\r
 "........................................................................",\r
@@ -15,53 +16,53 @@ static char *cvdl72[] = {
 "......................................      ..      ....................",\r
 "..................................                  ....................",\r
 "...............................                     ....................",\r
-".............................      ....     ..      ....................",\r
-"...........................      .....      .....    ...................",\r
-"..........................     .....          ...     ..................",\r
-".........................     ....                     .................",\r
-"........................    ....                       .................",\r
-".......................    ....                ....     ................",\r
-"......................    ....                  ....    ................",\r
-"......................   ....                   ....    ................",\r
-".....................    ...                     ...    ................",\r
-".....................   ....                       .     ...............",\r
-"....................   ....                              ...............",\r
-"....................   ....                              ...............",\r
-"...................   ....          .                     ..............",\r
-"...................   ....          .                     ..............",\r
-"...................  ....           ..                     .............",\r
-"..................   ....            .                      ............",\r
-"..................   ....                                    ...........",\r
-"..................  ....                                     ...........",\r
-".................   ....              .                       ..........",\r
-".................   ....              ...                     ..........",\r
-".................  ....               .....              ..    .........",\r
-".................  ....                .....             ...   .........",\r
-"................   ....                .......           ...   .........",\r
-"................   ....                 .......           ..   .........",\r
-"................  .....                 ........     ..        .........",\r
-"................  ....                   ........     .        .........",\r
-"................  ....                    ........    ..       .........",\r
-"................  ....                     ........           ..........",\r
-"................  ....                      .......         ............",\r
-"...............   ....                       .......   .................",\r
-"...............   ....                        ..........................",\r
-"...............   ....                         .........................",\r
-"...............   ....                         .........................",\r
-"...............   ....                          ........................",\r
-"...............  .....                           .......................",\r
-"...............  .....                           .......................",\r
-"...............  ....                             ......................",\r
-"...............  ....                             ......................",\r
+".............................      XXXX     XX      ....................",\r
+"...........................      XXXXX      XXXXX    ...................",\r
+"..........................     XXXXX          XXX     ..................",\r
+".........................     XXXX                     .................",\r
+"........................    XXXX                       .................",\r
+".......................    XXXX                XXXX     ................",\r
+"......................    XXXX                  XXXX    ................",\r
+"......................   XXXX                   XXXX    ................",\r
+".....................    XXX                     XXX    ................",\r
+".....................   XXXX                       X     ...............",\r
+"....................   XXXX                              ...............",\r
+"....................   XXXX                              ...............",\r
+"...................   XXXX          X                     ..............",\r
+"...................   XXXX          X                     ..............",\r
+"...................  XXXX           XX                     .............",\r
+"..................   XXXX            X                      ............",\r
+"..................   XXXX                                    ...........",\r
+"..................  XXXX                                     ...........",\r
+".................   XXXX              .                       ..........",\r
+".................   XXXX              ...                     ..........",\r
+".................  XXXX               .....              XX    .........",\r
+".................  XXXX                .....             XXX   .........",\r
+"................   XXXX                .......           XXX   .........",\r
+"................   XXXX                 .......           XX   .........",\r
+"................  XXXXX                 ........     XX        .........",\r
+"................  XXXX                   ........     X        .........",\r
+"................  XXXX                    ........    XX       .........",\r
+"................  XXXX                     ........           ..........",\r
+"................  XXXX                      .......         ............",\r
+"...............   XXXX                       .......   .................",\r
+"...............   XXXX                        ..........................",\r
+"...............   XXXX                         .........................",\r
+"...............   XXXX                         .........................",\r
+"...............   XXXX                          ........................",\r
+"...............  XXXXX                           .......................",\r
+"...............  XXXXX                           .......................",\r
+"...............  XXXX                             ......................",\r
+"...............  XXXX                             ......................",\r
 "...............                                   ......................",\r
 "...............                                   ......................",\r
-"...............  ..............................   ......................",\r
-"..............   ..............................   ......................",\r
+"...............  XXXXXXXXXXXXXXXXXXXXXXXXXXXXXX   ......................",\r
+"..............   XXXXXXXXXXXXXXXXXXXXXXXXXXXXXX   ......................",\r
 ".............                                      .....................",\r
 "...........                                          ...................",\r
 "..........                                            ..................",\r
-".........   ........................................   .................",\r
-".........   ........................................   .................",\r
+".........   XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX   .................",\r
+".........   XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX   .................",\r
 ".........                                              .................",\r
 ".........                                              .................",\r
 ".........                                              .................",\r
index 6ede8bb..cebaef4 100644 (file)
@@ -1,9 +1,10 @@
 /* XPM */\r
 static char *hdd33[] = {\r
 /* columns rows colors chars-per-pixel */\r
-"33 33 2 1",\r
+"33 33 3 1",\r
 "  c black s dark_piece",\r
 ". c green s dark_square",\r
+"X c white s light_piece",\r
 /* pixels */\r
 ".................................",\r
 ".................................",\r
@@ -12,28 +13,28 @@ static char *hdd33[] = {
 ".........  ...  .................",\r
 ".........   ..   ................",\r
 ".........          ..............",\r
-".........   ..   ..  ............",\r
-".......... .       ..  ..........",\r
-"........  .          .  .........",\r
-"........ ....         .  ........",\r
-"....... .  ...         .  .......",\r
-"....... .  ....        .. .......",\r
-"...... .......          .  ......",\r
-"......  .....           .. ......",\r
-".....    ...     .       .  .....",\r
-".....     .              .. .....",\r
-"....                     .. .....",\r
-"....           ..         .  ....",\r
-"...  .       ....         .. ....",\r
-"...  .      ....          .. ....",\r
-"...        .....          .. ....",\r
-"...       .....            . ....",\r
-"....     .....             .  ...",\r
-".............              .. ...",\r
-"............               .. ...",\r
-"...........                .. ...",\r
-"...........                .. ...",\r
-"..........                 .. ...",\r
+".........   XX   XX  ............",\r
+".......... X       XX  ..........",\r
+"........  X          X  .........",\r
+"........ XXXX         X  ........",\r
+"....... X  XXX         X  .......",\r
+"....... X  XXXX        XX .......",\r
+"...... XXXXXXX          X  ......",\r
+"......  XXXXX           XX ......",\r
+".....    XXX     X       X  .....",\r
+".....     X              XX .....",\r
+"....                     XX .....",\r
+"....           ..         X  ....",\r
+"...  X       ....         XX ....",\r
+"...  X      ....          XX ....",\r
+"...        .....          XX ....",\r
+"...       .....            X ....",\r
+"....     .....             X  ...",\r
+".............              XX ...",\r
+"............               XX ...",\r
+"...........                XX ...",\r
+"...........                XX ...",\r
+"..........                 XX ...",\r
 "..........                    ...",\r
 "..........                    ...",\r
 ".................................",\r
index f7c28d7..9021925 100644 (file)
@@ -1,9 +1,10 @@
 /* XPM */\r
 static char *hdd49[] = {\r
 /* columns rows colors chars-per-pixel */\r
-"49 49 2 1",\r
+"49 49 3 1",\r
 "  c black s dark_piece",\r
 ". c green s dark_square",\r
+"X c white s light_piece",\r
 /* pixels */\r
 ".................................................",\r
 ".................................................",\r
@@ -13,42 +14,42 @@ static char *hdd49[] = {
 "............   .....   ..........................",\r
 "............    ....    .........................",\r
 "............     ..     .........................",\r
-"............       .   .    .....................",\r
-".............   .. .   . ...  ...................",\r
-"............   .            ... .................",\r
-"........... ..                ... ...............",\r
-".......... ....                 .. ..............",\r
-".......... ......                 . .............",\r
-"......... ..... ..                 . ............",\r
-"......... ...  ....                 . ...........",\r
-"......... ... ......                .............",\r
-"......... .. ......                  . ..........",\r
-"........  ........                   .. .........",\r
-"........   ......                     . .........",\r
-"........     ...                      .. ........",\r
-".......       .           .            . ........",\r
-".......                   .            ..........",\r
-"......                                 .. .......",\r
-".....                   .               . .......",\r
-".....                  ...              .........",\r
-"....                  ....              .. ......",\r
-"....                ......               . ......",\r
-"...   ..           .......               . ......",\r
-"...   .          .......                 ........",\r
-"...             ........                 .. .....",\r
-"...       .    ........                  .. .....",\r
-"...      .    ........                   .. .....",\r
-"....     .   ........                     . .....",\r
-".....    .  ........                      . .....",\r
-"..........  .......                       .......",\r
-"..................                        .. ....",\r
-"..................                        .. ....",\r
-".................                         .. ....",\r
-"................                          .. ....",\r
-"...............                           .. ....",\r
-"...............                           .. ....",\r
-"..............                            .. ....",\r
-"..............                            .. ....",\r
+"............       X   X    .....................",\r
+".............   XX X   X XXX  ...................",\r
+"............   X            XXX .................",\r
+"........... XX                XXX ...............",\r
+".......... XXXX                 XX ..............",\r
+".......... XXXXXX                 X .............",\r
+"......... XXXXX XX                 X ............",\r
+"......... XXX  XXXX                 X ...........",\r
+"......... XXX XXXXXX                XX...........",\r
+"......... XX XXXXXX                  X ..........",\r
+"........  XXXXXXXX                   XX .........",\r
+"........   XXXXXX                     X .........",\r
+"........     XXX                      XX ........",\r
+".......       X           X            X ........",\r
+".......                   X            XX........",\r
+"......                                 XX .......",\r
+".....                   .               X .......",\r
+".....                  ...              XX.......",\r
+"....                  ....              XX ......",\r
+"....                ......               X ......",\r
+"...   XX           .......               X ......",\r
+"...   X          .......                 XX......",\r
+"...             ........                 XX .....",\r
+"...       X    ........                  XX .....",\r
+"...      .    ........                   XX .....",\r
+"....     .   ........                     X .....",\r
+".....    .  ........                      X .....",\r
+"..........  .......                       XX.....",\r
+"..................                        XX ....",\r
+"..................                        XX ....",\r
+".................                         XX ....",\r
+"................                          XX ....",\r
+"...............                           XX ....",\r
+"...............                           XX ....",\r
+"..............                            XX ....",\r
+"..............                            XX ....",\r
 "..............                               ....",\r
 "..............                               ....",\r
 ".................................................",\r
index 2ea8755..9f40644 100644 (file)
@@ -1,9 +1,10 @@
 /* XPM */\r
 static char *hdd72[] = {\r
 /* columns rows colors chars-per-pixel */\r
-"72 72 2 1",\r
+"72 72 3 1",\r
 "  c black s dark_piece",\r
 ". c green s dark_square",\r
+"X c white s light_piece",\r
 /* pixels */\r
 "........................................................................",\r
 "........................................................................",\r
@@ -16,60 +17,60 @@ static char *hdd72[] = {
 "..................      .....      .....................................",\r
 "..................       ...        ....................................",\r
 "..................        ..        ....................................",\r
-"..................          .      ..     ..............................",\r
-"..................       .. .      ..        ...........................",\r
-"..................      .....       .....      .........................",\r
-"..................     ...          ........     .......................",\r
-".................     ...                .....    ......................",\r
-"................   .. .                     ....    ....................",\r
-"...............   ....                        ...    ...................",\r
-"..............   ......                        ....   ..................",\r
-"..............  .........                       ....   .................",\r
-".............  .......  ..                       ....   ................",\r
-".............  .....   ....                       ....   ...............",\r
-".............  ....    .....                       ....  ...............",\r
-".............  ...     ......                       ...   ..............",\r
-".............  ...    .......                       ....   .............",\r
-"............   ... .........                         ....  .............",\r
-"............    ...........                          ....   ............",\r
-"............     .........                            ....  ............",\r
-"...........       .......                             ....   ...........",\r
-"...........        .....                               ....  ...........",\r
-"..........          ...                .               ....  ...........",\r
-"..........           .                ..                ....  ..........",\r
-".........                            ..                 ....  ..........",\r
-"........                             ..                 ....  ..........",\r
-"........                             .                   ....  .........",\r
-".......                             ..                   ....  .........",\r
-"......                                                   ....  .........",\r
-"......                             .                      ....  ........",\r
-".....                            ...                      ....  ........",\r
-".....                          .....                      ....  ........",\r
-".....    ..                  .......                      ....   .......",\r
-"....    ....               ........                        ....  .......",\r
-"....    ....             ..........                        ....  .......",\r
-"....    ...             ..........                         ....  .......",\r
-"....    ...            ...........                         ....  .......",\r
-"....          ..      ...........                          ....  .......",\r
-"....          ..     ...........                            ....  ......",\r
-"....         ...    ............                            ....  ......",\r
-".....        ..     ...........                             ....  ......",\r
-"......      ...    ...........                              ....  ......",\r
-"........    .     ...........                               ....  ......",\r
-"..............   ...........                                ....  ......",\r
-"...........................                                 ....  ......",\r
-"...........................                                 ....  ......",\r
-"..........................                                  ....   .....",\r
-".........................                                   .....  .....",\r
-"........................                                     ....  .....",\r
-"........................                                     ....  .....",\r
-".......................                                      ....  .....",\r
-"......................                                       ....  .....",\r
-"......................                                       ....  .....",\r
-"......................                                       ....  .....",\r
-".....................                                        ....  .....",\r
-".....................                                        ....  .....",\r
-".....................                                         ...  .....",\r
+"..................          X      XX     ..............................",\r
+"..................       XX X      XX        ...........................",\r
+"..................      XXXXX       XXXXX      .........................",\r
+"..................     XXX          XXXXXXXX     .......................",\r
+".................     XXX                XXXXX    ......................",\r
+"................   XX X                     XXXX    ....................",\r
+"...............   XXXX                        XXX    ...................",\r
+"..............   XXXXXX                        XXXX   ..................",\r
+"..............  XXXXXXXXX                       XXXX   .................",\r
+".............  XXXXXXX  XX                       XXXX   ................",\r
+".............  XXXXX   XXXX                       XXXX   ...............",\r
+".............  XXXX    XXXXX                       XXXX  ...............",\r
+".............  XXX     XXXXXX                       XXX   ..............",\r
+".............  XXX    XXXXXXX                       XXXX   .............",\r
+"............   XXX XXXXXXXXX                         XXXX  .............",\r
+"............    XXXXXXXXXXX                          XXXX   ............",\r
+"............     XXXXXXXXX                            XXXX  ............",\r
+"...........       XXXXXXX                             XXXX   ...........",\r
+"...........        XXXXX                               XXXX  ...........",\r
+"..........          XXX                X               XXXX  ...........",\r
+"..........           X                XX                XXXX  ..........",\r
+".........                            XX                 XXXX  ..........",\r
+"........                             XX                 XXXX  ..........",\r
+"........                             X                   XXXX  .........",\r
+".......                             XX                   XXXX  .........",\r
+"......                                                   XXXX  .........",\r
+"......                             .                      XXXX  ........",\r
+".....                            ...                      XXXX  ........",\r
+".....                          .....                      XXXX  ........",\r
+".....    XX                  .......                      XXXX   .......",\r
+"....    XXXX               ........                        XXXX  .......",\r
+"....    XXXX             ..........                        XXXX  .......",\r
+"....    XXX             ..........                         XXXX  .......",\r
+"....    XXX            ...........                         XXXX  .......",\r
+"....          ..      ...........                          XXXX  .......",\r
+"....          ..     ...........                            XXXX  ......",\r
+"....         ...    ............                            XXXX  ......",\r
+".....        ..     ...........                             XXXX  ......",\r
+"......      ...    ...........                              XXXX  ......",\r
+"........    .     ...........                               XXXX  ......",\r
+"..............   ...........                                XXXX  ......",\r
+"...........................                                 XXXX  ......",\r
+"...........................                                 XXXX  ......",\r
+"..........................                                  XXXX   .....",\r
+".........................                                   XXXXX  .....",\r
+"........................                                     XXXX  .....",\r
+"........................                                     XXXX  .....",\r
+".......................                                      XXXX  .....",\r
+"......................                                       XXXX  .....",\r
+"......................                                       XXXX  .....",\r
+"......................                                       XXXX  .....",\r
+".....................                                        XXXX  .....",\r
+".....................                                        XXXX  .....",\r
+".....................                                         XXX  .....",\r
 ".....................                                              .....",\r
 ".....................                                              .....",\r
 "........................................................................",\r
index d2fd8ee..c5b7a92 100644 (file)
@@ -1,9 +1,10 @@
 /* XPM */\r
 static char *hdl33[] = {\r
 /* columns rows colors chars-per-pixel */\r
-"33 33 2 1",\r
+"33 33 3 1",\r
 "  c black s dark_piece",\r
 ". c gray s light_square",\r
+"X c white s light_piece",\r
 /* pixels */\r
 ".................................",\r
 ".................................",\r
@@ -12,28 +13,28 @@ static char *hdl33[] = {
 ".........  ...  .................",\r
 ".........   ..   ................",\r
 ".........          ..............",\r
-".........   ..   ..  ............",\r
-".......... .       ..  ..........",\r
-"........  .          .  .........",\r
-"........ ....         .  ........",\r
-"....... .  ...         .  .......",\r
-"....... .  ....        .. .......",\r
-"...... .......          .  ......",\r
-"......  .....           .. ......",\r
-".....    ...     .       .  .....",\r
-".....     .              .. .....",\r
-"....                     .. .....",\r
-"....           ..         .  ....",\r
-"...  .       ....         .. ....",\r
-"...  .      ....          .. ....",\r
-"...        .....          .. ....",\r
-"...       .....            . ....",\r
-"....     .....             .  ...",\r
-".............              .. ...",\r
-"............               .. ...",\r
-"...........                .. ...",\r
-"...........                .. ...",\r
-"..........                 .. ...",\r
+".........   XX   XX  ............",\r
+".......... X       XX  ..........",\r
+"........  X          X  .........",\r
+"........ XXXX         X  ........",\r
+"....... X  XXX         X  .......",\r
+"....... X  XXXX        XX .......",\r
+"...... XXXXXXX          X  ......",\r
+"......  XXXXX           XX ......",\r
+".....    XXX     X       X  .....",\r
+".....     X              XX .....",\r
+"....                     XX .....",\r
+"....           ..         X  ....",\r
+"...  X       ....         XX ....",\r
+"...  X      ....          XX ....",\r
+"...        .....          XX ....",\r
+"...       .....            X ....",\r
+"....     .....             X  ...",\r
+".............              XX ...",\r
+"............               XX ...",\r
+"...........                XX ...",\r
+"...........                XX ...",\r
+"..........                 XX ...",\r
 "..........                    ...",\r
 "..........                    ...",\r
 ".................................",\r
index 8db19b4..03dff1e 100644 (file)
@@ -1,9 +1,10 @@
 /* XPM */\r
 static char *hdl49[] = {\r
 /* columns rows colors chars-per-pixel */\r
-"49 49 2 1",\r
+"49 49 3 1",\r
 "  c black s dark_piece",\r
 ". c gray s light_square",\r
+"X c white s light_piece",\r
 /* pixels */\r
 ".................................................",\r
 ".................................................",\r
@@ -13,42 +14,42 @@ static char *hdl49[] = {
 "............   .....   ..........................",\r
 "............    ....    .........................",\r
 "............     ..     .........................",\r
-"............       .   .    .....................",\r
-".............   .. .   . ...  ...................",\r
-"............   .            ... .................",\r
-"........... ..                ... ...............",\r
-".......... ....                 .. ..............",\r
-".......... ......                 . .............",\r
-"......... ..... ..                 . ............",\r
-"......... ...  ....                 . ...........",\r
-"......... ... ......                .............",\r
-"......... .. ......                  . ..........",\r
-"........  ........                   .. .........",\r
-"........   ......                     . .........",\r
-"........     ...                      .. ........",\r
-".......       .           .            . ........",\r
-".......                   .            ..........",\r
-"......                                 .. .......",\r
-".....                   .               . .......",\r
-".....                  ...              .........",\r
-"....                  ....              .. ......",\r
-"....                ......               . ......",\r
-"...   ..           .......               . ......",\r
-"...   .          .......                 ........",\r
-"...             ........                 .. .....",\r
-"...       .    ........                  .. .....",\r
-"...      .    ........                   .. .....",\r
-"....     .   ........                     . .....",\r
-".....    .  ........                      . .....",\r
-"..........  .......                       .......",\r
-"..................                        .. ....",\r
-"..................                        .. ....",\r
-".................                         .. ....",\r
-"................                          .. ....",\r
-"...............                           .. ....",\r
-"...............                           .. ....",\r
-"..............                            .. ....",\r
-"..............                            .. ....",\r
+"............       X   X    .....................",\r
+".............   XX X   X XXX  ...................",\r
+"............   X            XXX .................",\r
+"........... XX                XXX ...............",\r
+".......... XXXX                 XX ..............",\r
+".......... XXXXXX                 X .............",\r
+"......... XXXXX XX                 X ............",\r
+"......... XXX  XXXX                 X ...........",\r
+"......... XXX XXXXXX                XX...........",\r
+"......... XX XXXXXX                  X ..........",\r
+"........  XXXXXXXX                   XX .........",\r
+"........   XXXXXX                     X .........",\r
+"........     XXX                      XX ........",\r
+".......       X           X            X ........",\r
+".......                   X            XX........",\r
+"......                                 XX .......",\r
+".....                   .               X .......",\r
+".....                  ...              XX.......",\r
+"....                  ....              XX ......",\r
+"....                ......               X ......",\r
+"...   XX           .......               X ......",\r
+"...   X          .......                 XX......",\r
+"...             ........                 XX .....",\r
+"...       X    ........                  XX .....",\r
+"...      .    ........                   XX .....",\r
+"....     .   ........                     X .....",\r
+".....    .  ........                      X .....",\r
+"..........  .......                       XX.....",\r
+"..................                        XX ....",\r
+"..................                        XX ....",\r
+".................                         XX ....",\r
+"................                          XX ....",\r
+"...............                           XX ....",\r
+"...............                           XX ....",\r
+"..............                            XX ....",\r
+"..............                            XX ....",\r
 "..............                               ....",\r
 "..............                               ....",\r
 ".................................................",\r
index 7cd572e..9e6c2b9 100644 (file)
@@ -1,9 +1,10 @@
 /* XPM */\r
 static char *hdl72[] = {\r
 /* columns rows colors chars-per-pixel */\r
-"72 72 2 1",\r
+"72 72 3 1",\r
 "  c black s dark_piece",\r
 ". c gray s light_square",\r
+"X c white s light_piece",\r
 /* pixels */\r
 "........................................................................",\r
 "........................................................................",\r
@@ -16,60 +17,60 @@ static char *hdl72[] = {
 "..................      .....      .....................................",\r
 "..................       ...        ....................................",\r
 "..................        ..        ....................................",\r
-"..................          .      ..     ..............................",\r
-"..................       .. .      ..        ...........................",\r
-"..................      .....       .....      .........................",\r
-"..................     ...          ........     .......................",\r
-".................     ...                .....    ......................",\r
-"................   .. .                     ....    ....................",\r
-"...............   ....                        ...    ...................",\r
-"..............   ......                        ....   ..................",\r
-"..............  .........                       ....   .................",\r
-".............  .......  ..                       ....   ................",\r
-".............  .....   ....                       ....   ...............",\r
-".............  ....    .....                       ....  ...............",\r
-".............  ...     ......                       ...   ..............",\r
-".............  ...    .......                       ....   .............",\r
-"............   ... .........                         ....  .............",\r
-"............    ...........                          ....   ............",\r
-"............     .........                            ....  ............",\r
-"...........       .......                             ....   ...........",\r
-"...........        .....                               ....  ...........",\r
-"..........          ...                .               ....  ...........",\r
-"..........           .                ..                ....  ..........",\r
-".........                            ..                 ....  ..........",\r
-"........                             ..                 ....  ..........",\r
-"........                             .                   ....  .........",\r
-".......                             ..                   ....  .........",\r
-"......                                                   ....  .........",\r
-"......                             .                      ....  ........",\r
-".....                            ...                      ....  ........",\r
-".....                          .....                      ....  ........",\r
-".....    ..                  .......                      ....   .......",\r
-"....    ....               ........                        ....  .......",\r
-"....    ....             ..........                        ....  .......",\r
-"....    ...             ..........                         ....  .......",\r
-"....    ...            ...........                         ....  .......",\r
-"....          ..      ...........                          ....  .......",\r
-"....          ..     ...........                            ....  ......",\r
-"....         ...    ............                            ....  ......",\r
-".....        ..     ...........                             ....  ......",\r
-"......      ...    ...........                              ....  ......",\r
-"........    .     ...........                               ....  ......",\r
-"..............   ...........                                ....  ......",\r
-"...........................                                 ....  ......",\r
-"...........................                                 ....  ......",\r
-"..........................                                  ....   .....",\r
-".........................                                   .....  .....",\r
-"........................                                     ....  .....",\r
-"........................                                     ....  .....",\r
-".......................                                      ....  .....",\r
-"......................                                       ....  .....",\r
-"......................                                       ....  .....",\r
-"......................                                       ....  .....",\r
-".....................                                        ....  .....",\r
-".....................                                        ....  .....",\r
-".....................                                         ...  .....",\r
+"..................          X      XX     ..............................",\r
+"..................       XX X      XX        ...........................",\r
+"..................      XXXXX       XXXXX      .........................",\r
+"..................     XXX          XXXXXXXX     .......................",\r
+".................     XXX                XXXXX    ......................",\r
+"................   XX X                     XXXX    ....................",\r
+"...............   XXXX                        XXX    ...................",\r
+"..............   XXXXXX                        XXXX   ..................",\r
+"..............  XXXXXXXXX                       XXXX   .................",\r
+".............  XXXXXXX  XX                       XXXX   ................",\r
+".............  XXXXX   XXXX                       XXXX   ...............",\r
+".............  XXXX    XXXXX                       XXXX  ...............",\r
+".............  XXX     XXXXXX                       XXX   ..............",\r
+".............  XXX    XXXXXXX                       XXXX   .............",\r
+"............   XXX XXXXXXXXX                         XXXX  .............",\r
+"............    XXXXXXXXXXX                          XXXX   ............",\r
+"............     XXXXXXXXX                            XXXX  ............",\r
+"...........       XXXXXXX                             XXXX   ...........",\r
+"...........        XXXXX                               XXXX  ...........",\r
+"..........          XXX                X               XXXX  ...........",\r
+"..........           X                XX                XXXX  ..........",\r
+".........                            XX                 XXXX  ..........",\r
+"........                             XX                 XXXX  ..........",\r
+"........                             X                   XXXX  .........",\r
+".......                             XX                   XXXX  .........",\r
+"......                                                   XXXX  .........",\r
+"......                             .                      XXXX  ........",\r
+".....                            ...                      XXXX  ........",\r
+".....                          .....                      XXXX  ........",\r
+".....    XX                  .......                      XXXX   .......",\r
+"....    XXXX               ........                        XXXX  .......",\r
+"....    XXXX             ..........                        XXXX  .......",\r
+"....    XXX             ..........                         XXXX  .......",\r
+"....    XXX            ...........                         XXXX  .......",\r
+"....          ..      ...........                          XXXX  .......",\r
+"....          ..     ...........                            XXXX  ......",\r
+"....         ...    ............                            XXXX  ......",\r
+".....        ..     ...........                             XXXX  ......",\r
+"......      ...    ...........                              XXXX  ......",\r
+"........    .     ...........                               XXXX  ......",\r
+"..............   ...........                                XXXX  ......",\r
+"...........................                                 XXXX  ......",\r
+"...........................                                 XXXX  ......",\r
+"..........................                                  XXXX   .....",\r
+".........................                                   XXXXX  .....",\r
+"........................                                     XXXX  .....",\r
+"........................                                     XXXX  .....",\r
+".......................                                      XXXX  .....",\r
+"......................                                       XXXX  .....",\r
+"......................                                       XXXX  .....",\r
+"......................                                       XXXX  .....",\r
+".....................                                        XXXX  .....",\r
+".....................                                        XXXX  .....",\r
+".....................                                         XXX  .....",\r
 ".....................                                              .....",\r
 ".....................                                              .....",\r
 "........................................................................",\r
diff --git a/pixmaps/m33s.bmp b/pixmaps/m33s.bmp
new file mode 100644 (file)
index 0000000..52be842
Binary files /dev/null and b/pixmaps/m33s.bmp differ
index 8ccecf3..f599594 100644 (file)
@@ -1,42 +1,42 @@
-/* XPM */\r
-static char *mdd33[] = {\r
-/* columns rows colors chars-per-pixel */\r
-"33 33 3 1",\r
-"  c white s light_piece",\r
-". c green s dark_square",\r
-"X c black s dark_piece",\r
-/* pixels */\r
-".................................",\r
-".................................",\r
-".................................",\r
-".................................",\r
-".................................",\r
-"................X................",\r
-"...............XXX...............",\r
-"..............XXXXX..............",\r
-"..............XXXXX..............",\r
-"...............XXX...............",\r
-"...............   ...............",\r
-"...........XXXXXXXXXXX...........",\r
-"........XXXXXXXXXXXXXXXXX........",\r
-".......XXXXXXXXXXXXXXXXXXX.......",\r
-"......XXXXXXXXXXXXXXXXXXXXX......",\r
-"......XXXXXXXXXXXXXXXXXXXXX......",\r
-".....XXXXXXXXXXXXXXXXXXXXXXX.....",\r
-".....XXXXXXXXXXXXXXXXXXXXXXX.....",\r
-".....XXXXXXXXXXXXXXXXXXXXXXX.....",\r
-".....XXXXXXXXXXXXXXXXXXXXXXX.....",\r
-"....XXXXXXXXXXXXXXXXXXXXXXXXX....",\r
-"....XXXXXXXXXXXXXXXXXXXXXXXXX....",\r
-"....XXXXXX             XXXXXX....",\r
-"...XX     XXXXXXXXXXXXX     XX...",\r
-"...X XXXXXXXXXXXXXXXXXXXXXXX X...",\r
-"..XXXXXXXXXXXXXXXXXXXXXXXXXXXXX..",\r
-"..XXXXXXXXXXXXXXXXXXXXXXXXXXXXX..",\r
-"...XXXXXXXXXXXXXXXXXXXXXXXXXXX...",\r
-".....XXXXXXXXXXXXXXXXXXXXXXX.....",\r
-"..........XXXXXXXXXXXXX..........",\r
-".................................",\r
-".................................",\r
-"................................."\r
-};\r
+/* XPM */
+static char *mdd33[] = {
+/* columns rows colors chars-per-pixel */
+"33 33 3 1",
+"  c black s dark_piece",
+". c green s dark_square",
+"X c white s light_piece",
+/* pixels */
+".................................",
+".................................",
+".................................",
+".................................",
+".................................",
+"................ ................",
+"...............   ...............",
+"..............     ..............",
+"..............     ..............",
+"...............   ...............",
+"............... X ...............",
+"...........           ...........",
+"........                 ........",
+".......                   .......",
+"......                     ......",
+"......                     ......",
+".....                       .....",
+".....                       .....",
+".....                       .....",
+".....                       .....",
+"....                         ....",
+"....                         ....",
+"....      XXXXXXXXXXXXX      ....",
+"...  XXXXX             XXXXX  ...",
+"... X                       X ...",
+"..                             ..",
+"..                             ..",
+"...                           ...",
+".....                       .....",
+"..........             ..........",
+".................................",
+".................................",
+"................................."
+};
index cda976f..253cc90 100644 (file)
@@ -1,42 +1,42 @@
-/* XPM */\r
-static char *mdl33[] = {\r
-/* columns rows colors chars-per-pixel */\r
-"33 33 3 1",\r
-"  c white s light_piece",\r
-". c gray s light_square",\r
-"X c black s dark_piece",\r
-/* pixels */\r
-".................................",\r
-".................................",\r
-".................................",\r
-".................................",\r
-".................................",\r
-"................X................",\r
-"...............XXX...............",\r
-"..............XXXXX..............",\r
-"..............XXXXX..............",\r
-"...............XXX...............",\r
-"...............   ...............",\r
-"...........XXXXXXXXXXX...........",\r
-"........XXXXXXXXXXXXXXXXX........",\r
-".......XXXXXXXXXXXXXXXXXXX.......",\r
-"......XXXXXXXXXXXXXXXXXXXXX......",\r
-"......XXXXXXXXXXXXXXXXXXXXX......",\r
-".....XXXXXXXXXXXXXXXXXXXXXXX.....",\r
-".....XXXXXXXXXXXXXXXXXXXXXXX.....",\r
-".....XXXXXXXXXXXXXXXXXXXXXXX.....",\r
-".....XXXXXXXXXXXXXXXXXXXXXXX.....",\r
-"....XXXXXXXXXXXXXXXXXXXXXXXXX....",\r
-"....XXXXXXXXXXXXXXXXXXXXXXXXX....",\r
-"....XXXXXX             XXXXXX....",\r
-"...XX     XXXXXXXXXXXXX     XX...",\r
-"...X XXXXXXXXXXXXXXXXXXXXXXX X...",\r
-"..XXXXXXXXXXXXXXXXXXXXXXXXXXXXX..",\r
-"..XXXXXXXXXXXXXXXXXXXXXXXXXXXXX..",\r
-"...XXXXXXXXXXXXXXXXXXXXXXXXXXX...",\r
-".....XXXXXXXXXXXXXXXXXXXXXXX.....",\r
-"..........XXXXXXXXXXXXX..........",\r
-".................................",\r
-".................................",\r
-"................................."\r
-};\r
+/* XPM */
+static char *mdl33[] = {
+/* columns rows colors chars-per-pixel */
+"33 33 3 1",
+"  c black s dark_piece",
+". c gray s light_square",
+"X c white s light_piece",
+/* pixels */
+".................................",
+".................................",
+".................................",
+".................................",
+".................................",
+"................ ................",
+"...............   ...............",
+"..............     ..............",
+"..............     ..............",
+"...............   ...............",
+"............... X ...............",
+"...........           ...........",
+"........                 ........",
+".......                   .......",
+"......                     ......",
+"......                     ......",
+".....                       .....",
+".....                       .....",
+".....                       .....",
+".....                       .....",
+"....                         ....",
+"....                         ....",
+"....      XXXXXXXXXXXXX      ....",
+"...  XXXXX             XXXXX  ...",
+"... X                       X ...",
+"..                             ..",
+"..                             ..",
+"...                           ...",
+".....                       .....",
+"..........             ..........",
+".................................",
+".................................",
+"................................."
+};
index 4ec13b0..5eeb793 100644 (file)
 \r
 #ifdef _MSC_VER\r
 #define snprintf _snprintf\r
+#if _MSC_VER < 1500\r
+#define vsnprintf _vsnprintf\r
+#endif\r
 #endif\r
index bcd0c9c..d9134d7 100644 (file)
@@ -1392,6 +1392,7 @@ ArgDescriptor argDescriptors[] = {
   { "firstNPS", ArgInt, (LPVOID) &appData.firstNPS, FALSE },\r
   { "secondNPS", ArgInt, (LPVOID) &appData.secondNPS, FALSE },\r
   { "noGUI", ArgTrue, (LPVOID) &appData.noGUI, FALSE },\r
+  { "keepLineBreaksICS", ArgBoolean, (LPVOID) &appData.noJoin, TRUE },\r
 \r
   // [HGM] placement: put all window layouts last in ini file, but man X,Y before all others\r
   { "minX", ArgZ, (LPVOID) &minX, FALSE }, // [HGM] placement: to make suer auxialary windows can be placed\r
@@ -5456,6 +5457,36 @@ LoadGameDialog(HWND hwnd, char* title)
   }\r
 }\r
 \r
+void UpdateICSWidth(HWND hText)\r
+{\r
+       HDC hdc;\r
+       TEXTMETRIC tm;\r
+       RECT rc;\r
+       HFONT hfont, hold_font;\r
+       LONG old_width, new_width;\r
+       \r
+       // get the text metrics\r
+       hdc = GetDC(hText);\r
+       hfont = CreateFontIndirect(&font[boardSize][CONSOLE_FONT]->lf);\r
+       hold_font = SelectObject(hdc, hfont);\r
+       GetTextMetrics(hdc, &tm);\r
+       SelectObject(hdc, hold_font);\r
+       DeleteObject(hfont);\r
+       ReleaseDC(hText, hdc);\r
+\r
+       // get the rectangle\r
+       SendMessage(hText, EM_GETRECT, 0, (LPARAM)&rc);\r
+\r
+       // update the width\r
+       new_width = (rc.right-rc.left) / tm.tmAveCharWidth;\r
+       old_width = GetWindowLong(hText, GWL_USERDATA);\r
+       if (new_width != old_width)\r
+       {\r
+               ics_update_width(new_width);\r
+               SetWindowLong(hText, GWL_USERDATA, new_width);\r
+       }\r
+}\r
+\r
 VOID\r
 ChangedConsoleFont()\r
 {\r
@@ -5495,6 +5526,7 @@ ChangedConsoleFont()
   paraf.dxOffset = WRAP_INDENT;\r
   SendMessage(hText, EM_SETPARAFORMAT, 0, (LPARAM) &paraf);\r
   SendMessage(hText, EM_EXSETSEL, 0, (LPARAM)&sel);\r
+  UpdateICSWidth(hText);\r
 }\r
 \r
 /*---------------------------------------------------------------------------*\\r
@@ -5599,14 +5631,14 @@ WndProc(HWND hwnd, UINT message, WPARAM wParam, LPARAM lParam)
     switch (wmId) {\r
     case IDM_NewGame:\r
       ResetGameEvent();\r
-      AnalysisPopDown();\r
+      EngineOutputPopDown();\r
       SAY("new game enter a move to play against the computer with white");\r
       break;\r
 \r
     case IDM_NewGameFRC:\r
       if( NewGameFRC() == 0 ) {\r
         ResetGameEvent();\r
-        AnalysisPopDown();\r
+       EngineOutputPopDown();\r
       }\r
       break;\r
 \r
@@ -8099,12 +8131,15 @@ LRESULT CALLBACK
 ConsoleWndProc(HWND hDlg, UINT message, WPARAM wParam, LPARAM lParam)\r
 {\r
   static SnapData sd;\r
-  static HWND hText, hInput /*, hFocus*/;\r
-//  InputSource *is = consoleInputSource;\r
+  HWND hText, hInput;\r
   RECT rect;\r
   static int sizeX, sizeY;\r
   int newSizeX, newSizeY;\r
   MINMAXINFO *mmi;\r
+  WORD wMask;\r
+\r
+  hText = GetDlgItem(hDlg, OPT_ConsoleText);\r
+  hInput = GetDlgItem(hDlg, OPT_ConsoleInput);\r
 \r
   switch (message) {\r
   case WM_NOTIFY:\r
@@ -8113,21 +8148,18 @@ ConsoleWndProc(HWND hDlg, UINT message, WPARAM wParam, LPARAM lParam)
       ENLINK *pLink = (ENLINK*)lParam;\r
       if (pLink->msg == WM_LBUTTONUP)\r
       {\r
-          TEXTRANGE tr;\r
-\r
-          tr.chrg = pLink->chrg;\r
-          tr.lpstrText = malloc(1+tr.chrg.cpMax-tr.chrg.cpMin);\r
-          hText = GetDlgItem(hDlg, OPT_ConsoleText);\r
-          SendMessage(hText, EM_GETTEXTRANGE, 0, (LPARAM)&tr);\r
-          ShellExecute(NULL, "open", tr.lpstrText, NULL, NULL, SW_SHOW);\r
-          free(tr.lpstrText);\r
+        TEXTRANGE tr;\r
+\r
+        tr.chrg = pLink->chrg;\r
+        tr.lpstrText = malloc(1+tr.chrg.cpMax-tr.chrg.cpMin);\r
+        SendMessage(hText, EM_GETTEXTRANGE, 0, (LPARAM)&tr);\r
+        ShellExecute(NULL, "open", tr.lpstrText, NULL, NULL, SW_SHOW);\r
+        free(tr.lpstrText);\r
       }\r
     }\r
     break;\r
   case WM_INITDIALOG: /* message: initialize dialog box */\r
     hwndConsole = hDlg;\r
-    hText = GetDlgItem(hDlg, OPT_ConsoleText);\r
-    hInput = GetDlgItem(hDlg, OPT_ConsoleInput);\r
     SetFocus(hInput);\r
     consoleTextWindowProc = (WNDPROC)\r
       SetWindowLong(hText, GWL_WNDPROC, (LONG) ConsoleTextSubclass);\r
@@ -8175,6 +8207,12 @@ ConsoleWndProc(HWND hDlg, UINT message, WPARAM wParam, LPARAM lParam)
        SetWindowPlacement(hDlg, &wp);\r
     }\r
 \r
+   // Allow hText to highlight URLs and send notifications on them\r
+   wMask = SendMessage(hText, EM_GETEVENTMASK, 0, 0L);\r
+   SendMessage(hText, EM_SETEVENTMASK, 0, wMask | ENM_LINK);\r
+   SendMessage(hText, EM_AUTOURLDETECT, TRUE, 0L);\r
+   SetWindowLong(hText, GWL_USERDATA, 79); // initialize the text window's width\r
+\r
     return FALSE;\r
 \r
   case WM_SETFOCUS:\r
@@ -8234,6 +8272,7 @@ ConsoleWndProc(HWND hDlg, UINT message, WPARAM wParam, LPARAM lParam)
     return OnMoving( &sd, hDlg, wParam, lParam );\r
 \r
   case WM_EXITSIZEMOVE:\r
+       UpdateICSWidth(hText);\r
     return OnExitSizeMove( &sd, hDlg, wParam, lParam );\r
   }\r
 \r
@@ -8244,18 +8283,10 @@ ConsoleWndProc(HWND hDlg, UINT message, WPARAM wParam, LPARAM lParam)
 VOID\r
 ConsoleCreate()\r
 {\r
-  HWND hCons, hText;\r
-  WORD wMask;\r
+  HWND hCons;\r
   if (hwndConsole) return;\r
   hCons = CreateDialog(hInst, szConsoleName, 0, NULL);\r
   SendMessage(hCons, WM_INITDIALOG, 0, 0);\r
-\r
-\r
-  // make the text item in the console do URL links\r
-  hText = GetDlgItem(hCons, OPT_ConsoleText);\r
-  wMask = SendMessage(hText, EM_GETEVENTMASK, 0, 0L);\r
-  SendMessage(hText, EM_SETEVENTMASK, 0, wMask | ENM_LINK);\r
-  SendMessage(hText, EM_AUTOURLDETECT, TRUE, 0L);\r
 }\r
 \r
 \r
@@ -8711,6 +8742,7 @@ Enables gnuEnables[] = {
   { IDM_StopExamining, MF_BYCOMMAND|MF_GRAYED },\r
   { IDM_StopObserving, MF_BYCOMMAND|MF_GRAYED },\r
   { IDM_Revert, MF_BYCOMMAND|MF_GRAYED },\r
+  { IDM_NewChat, MF_BYCOMMAND|MF_GRAYED },\r
   { -1, -1 }\r
 };\r
 \r
@@ -8720,6 +8752,7 @@ Enables icsEnables[] = {
   { IDM_MachineWhite, MF_BYCOMMAND|MF_GRAYED },\r
   { IDM_MachineBlack, MF_BYCOMMAND|MF_GRAYED },\r
   { IDM_TwoMachines, MF_BYCOMMAND|MF_GRAYED },\r
+  { IDM_MachineBoth, MF_BYCOMMAND|MF_GRAYED },\r
   { IDM_AnalysisMode, MF_BYCOMMAND|MF_ENABLED },\r
   { IDM_AnalyzeFile, MF_BYCOMMAND|MF_GRAYED },\r
   { IDM_TimeControl, MF_BYCOMMAND|MF_GRAYED },\r
@@ -8727,6 +8760,8 @@ Enables icsEnables[] = {
   { IDM_Hint, MF_BYCOMMAND|MF_GRAYED },\r
   { IDM_Book, MF_BYCOMMAND|MF_GRAYED },\r
   { IDM_IcsOptions, MF_BYCOMMAND|MF_ENABLED },\r
+  { IDM_Engine1Options, MF_BYCOMMAND|MF_GRAYED },\r
+  { IDM_Engine2Options, MF_BYCOMMAND|MF_GRAYED },\r
   { -1, -1 }\r
 };\r
 \r
@@ -8735,6 +8770,7 @@ Enables zippyEnables[] = {
   { IDM_MoveNow, MF_BYCOMMAND|MF_ENABLED },\r
   { IDM_Hint, MF_BYCOMMAND|MF_ENABLED },\r
   { IDM_Book, MF_BYCOMMAND|MF_ENABLED },\r
+  { IDM_Engine1Options, MF_BYCOMMAND|MF_ENABLED },\r
   { -1, -1 }\r
 };\r
 #endif\r
@@ -8755,6 +8791,10 @@ Enables ncpEnables[] = {
   { IDM_TimeControl, MF_BYCOMMAND|MF_GRAYED },\r
   { IDM_Hint, MF_BYCOMMAND|MF_GRAYED },\r
   { IDM_Book, MF_BYCOMMAND|MF_GRAYED },\r
+  { IDM_MachineBoth, MF_BYCOMMAND|MF_GRAYED },\r
+  { IDM_NewChat, MF_BYCOMMAND|MF_GRAYED },\r
+  { IDM_Engine1Options, MF_BYCOMMAND|MF_GRAYED },\r
+  { IDM_Engine2Options, MF_BYCOMMAND|MF_GRAYED },\r
   { -1, -1 }\r
 };\r
 \r
@@ -9512,6 +9552,11 @@ DrawPosition(int fullRedraw, Board board)
   HDCDrawPosition(NULL, (BOOLEAN) fullRedraw, board); \r
 }\r
 \r
+void NotifyFrontendLogin()\r
+{\r
+       if (hwndConsole)\r
+               UpdateICSWidth(GetDlgItem(hwndConsole, OPT_ConsoleText));\r
+}\r
 \r
 VOID\r
 ResetFrontEnd()\r
@@ -10654,51 +10699,6 @@ AnalysisDialog(HWND hDlg, UINT message, WPARAM wParam, LPARAM lParam)
 }\r
 \r
 VOID\r
-AnalysisPopUp(char* title, char* str)\r
-{\r
-  FARPROC lpProc;\r
-  char *p, *q;\r
-\r
-  /* [AS] */\r
-  EngineOutputPopUp();\r
-  return;\r
-\r
-  if (str == NULL) str = "";\r
-  p = (char *) malloc(2 * strlen(str) + 2);\r
-  q = p;\r
-  while (*str) {\r
-    if (*str == '\n') *q++ = '\r';\r
-    *q++ = *str++;\r
-  }\r
-  *q = NULLCHAR;\r
-  if (analysisText != NULL) free(analysisText);\r
-  analysisText = p;\r
-\r
-  if (analysisDialog) {\r
-    SetWindowText(analysisDialog, title);\r
-    SetDlgItemText(analysisDialog, OPT_AnalysisText, analysisText);\r
-    ShowWindow(analysisDialog, SW_SHOW);\r
-  } else {\r
-    analysisTitle = title;\r
-    lpProc = MakeProcInstance((FARPROC)AnalysisDialog, hInst);\r
-    CreateDialog(hInst, MAKEINTRESOURCE(DLG_Analysis),\r
-                hwndMain, (DLGPROC)lpProc);\r
-    FreeProcInstance(lpProc);\r
-  }\r
-  analysisDialogUp = TRUE;  \r
-}\r
-\r
-VOID\r
-AnalysisPopDown()\r
-{\r
-  if (analysisDialog) {\r
-    ShowWindow(analysisDialog, SW_HIDE);\r
-  }\r
-  analysisDialogUp = FALSE;  \r
-}\r
-\r
-\r
-VOID\r
 SetHighlights(int fromX, int fromY, int toX, int toY)\r
 {\r
   highlightInfo.sq[0].x = fromX;\r
index 2992165..fc0dc12 100644 (file)
@@ -9,9 +9,9 @@
  * that generates the actual dialog box from it.\r
  */\r
 \r
-//#include "config.h"\r
 #include "config.h"\r
 \r
+#include <windows.h>\r
 #include <stdio.h>\r
 #include <string.h>\r
 #include "common.h"\r
index a99967d..03261ad 100644 (file)
--- a/xboard.c
+++ b/xboard.c
@@ -245,6 +245,7 @@ typedef struct {
 int main P((int argc, char **argv));
 RETSIGTYPE CmailSigHandler P((int sig));
 RETSIGTYPE IntSigHandler P((int sig));
+RETSIGTYPE TermSizeSigHandler P((int sig));
 void CreateGCs P((void));
 void CreateXIMPieces P((void));
 void CreateXPMPieces P((void));
@@ -380,7 +381,8 @@ void TimeControlPopDown P(());
 void NewVariantPopDown P(());
 void SettingsPopDown P(());
 void SetMenuEnables P((Enables *enab));
-
+void update_ics_width P(());
+int get_term_width P(());
 /*
 * XBoard depends on Xt R4 or higher
 */
@@ -1404,6 +1406,9 @@ XtResource clientResources[] = {
     { "forceIllegalMoves", "forceIllegalMoves", XtRBoolean,
        sizeof(Boolean), XtOffset(AppDataPtr, forceIllegal),
        XtRImmediate, (XtPointer) False},
+    { "keepLineBreaksICS", "keepLineBreaksICS", XtRBoolean,
+       sizeof(Boolean), XtOffset(AppDataPtr, noJoin),
+       XtRImmediate, (XtPointer) True},
 };
 
 XrmOptionDescRec shellOptions[] = {
@@ -1773,6 +1778,7 @@ XrmOptionDescRec shellOptions[] = {
     { "-secondNeedsNoncompliantFEN", "secondNeedsNoncompliantFEN", XrmoptionSepArg, NULL },
     { "-keepAlive", "keepAlive", XrmoptionSepArg, NULL },
     { "-forceIllegalMoves", "forceIllegalMoves", XrmoptionNoArg, "True" },
+    { "-keepLineBreaksICS", "keepLineBreaksICS", XrmoptionSepArg, NULL },
 };
 
 
@@ -1877,7 +1883,7 @@ XtActionsRec boardActions[] = {
     { "TagsPopDown", (XtActionProc) TagsPopDown },
     { "ErrorPopDown", (XtActionProc) ErrorPopDown },
     { "ICSInputBoxPopDown", (XtActionProc) ICSInputBoxPopDown },
-    { "AnalysisPopDown", (XtActionProc) AnalysisPopDown },
+    { "EngineOutputPopDown", (XtActionProc) EngineOutputPopDown },
     { "FileNamePopDown", (XtActionProc) FileNamePopDown },
     { "AskQuestionPopDown", (XtActionProc) AskQuestionPopDown },
     { "GameListPopDown", (XtActionProc) GameListPopDown },
@@ -2725,6 +2731,11 @@ ShutDownFrontEnd()
     unlink(gamePasteFilename);
 }
 
+RETSIGTYPE TermSizeSigHandler(int sig)
+{
+    update_ics_width();
+}
+
 RETSIGTYPE
 IntSigHandler(sig)
      int sig;
@@ -4614,37 +4625,6 @@ void CommentPopUp(title, text)
     commentUp = True;
 }
 
-void AnalysisPopUp(title, text)
-     char *title, *text;
-{
-    Arg args[16];
-    int j;
-    Widget edit;
-
-    if (analysisShell == NULL) {
-       analysisShell = MiscCreate(title, text, False, NULL, 4);
-       XtRealizeWidget(analysisShell);
-       CatchDeleteWindow(analysisShell, "AnalysisPopDown");
-
-    } else {
-       edit = XtNameToWidget(analysisShell, "*form.text");
-       j = 0;
-       XtSetArg(args[j], XtNstring, text); j++;
-       XtSetValues(edit, args, j);
-       j = 0;
-       XtSetArg(args[j], XtNiconName, (XtArgVal) title);   j++;
-       XtSetArg(args[j], XtNtitle, (XtArgVal) title);      j++;
-       XtSetValues(analysisShell, args, j);
-    }
-
-    if (!analysisUp) {
-       XtPopup(analysisShell, XtGrabNone);
-    }
-    XSync(xDisplay, False);
-
-    analysisUp = True;
-}
-
 void CommentCallback(w, client_data, call_data)
      Widget w;
      XtPointer client_data, call_data;
@@ -4683,16 +4663,6 @@ void CommentPopDown()
     commentUp = False;
 }
 
-void AnalysisPopDown()
-{
-    if (!analysisUp) return;
-    XtPopdown(analysisShell);
-    XSync(xDisplay, False);
-    analysisUp = False;
-    if (appData.icsEngineAnalyze) ExitAnalyzeMode();    /* [DM] icsEngineAnalyze */
-}
-
-
 void FileNamePopUp(label, def, proc, openMode)
      char *label;
      char *def;
@@ -6704,6 +6674,10 @@ int StartChildProcess(cmdLine, dir, pr)
 
     SetUpChildIO(to_prog, from_prog);
 
+    #ifdef SIGWINCH
+    signal(SIGWINCH, TermSizeSigHandler);
+    #endif
+
     if ((pid = fork()) == 0) {
        /* Child process */
        // [HGM] PSWBTM: made order resistant against case where fd of created pipe was 0 or 1
@@ -7841,3 +7815,38 @@ SetProgramStats( FrontEndProgramStats * stats )
   // [HGM] done, but perhaps backend should call this directly?
     EngineOutputUpdate( stats );
 }
+
+#include <sys/ioctl.h>
+int get_term_width()
+{
+    int fd, default_width;
+
+    fd = STDIN_FILENO;
+    default_width = 79; // this is FICS default anyway...
+
+#if !defined(TIOCGWINSZ) && defined(TIOCGSIZE)
+    struct ttysize win;
+    if (!ioctl(fd, TIOCGSIZE, &win))
+        default_width = win.ts_cols;
+#elif defined(TIOCGWINSZ)
+    struct winsize win;
+    if (!ioctl(fd, TIOCGWINSZ, &win))
+        default_width = win.ws_col;
+#endif
+    return default_width;
+}
+
+void update_ics_width()
+{
+    static int old_width = 0;
+    int new_width = get_term_width();
+
+    if (old_width != new_width)
+       ics_printf("set width %d\n", new_width);
+    old_width = new_width;
+}
+
+void NotifyFrontendLogin()
+{
+    update_ics_width();
+}
index 969a97d..514c9d6 100644 (file)
@@ -142,7 +142,7 @@ void ShuffleCallback(w, client_data, call_data)
         ShufflePopDown();
        shuffleOpenings = False; // [HGM] should be moved to New Variant menu, once we have it!
        ResetGameEvent();
-       AnalysisPopDown();
+       EngineOutputPopDown();
         return;
     }
     if (strcmp(name, _("random")) == 0) {
@@ -164,7 +164,7 @@ void ShuffleCallback(w, client_data, call_data)
        shuffleOpenings = True;
         ShufflePopDown();
        ResetGameEvent();
-       AnalysisPopDown();
+       EngineOutputPopDown();
         return;
     }
 }
diff --git a/zippy.c b/zippy.c
index 2900a24..2698ac5 100644 (file)
--- a/zippy.c
+++ b/zippy.c
@@ -412,10 +412,6 @@ int ZippyControl(buf, i)
     char *player, *p;
     char reply[MSG_SIZ];
 
-#if TRIVIA
-#include "trivia.c"
-#endif
-
     /* Possibly reject Crafty as opponent */
     if (appData.zippyPlay && appData.zippyNoplayCrafty && forwardMostMove < 4
        && looking_at(buf, i, "* kibitzes: Hello from Crafty"))