Remove caveat on available pieces fromNew Variant dialog
[xboard.git] / dialogs.c
index ebdd93c..773a305 100644 (file)
--- a/dialogs.c
+++ b/dialogs.c
@@ -439,12 +439,6 @@ static Option variantDescriptors[] = {
 { 0, -1, BOARD_RANKS-1, NULL, (void*) &appData.NrRanks, "", NULL, Spin, N_("Number of Board Ranks:") },
 { 0, -1, BOARD_FILES, NULL, (void*) &appData.NrFiles, "", NULL, Spin, N_("Number of Board Files:") },
 { 0, -1, BOARD_RANKS-1, NULL, (void*) &appData.holdingsSize, "", NULL, Spin, N_("Holdings Size:") },
-{ 0, 0, 0, NULL, NULL, NULL, NULL, Label,
-                               N_("WARNING: variants with un-orthodox\n"
-                                 "pieces only have built-in bitmaps\n"
-                                 "for -boardSize middling, bulky and\n"
-                                 "petite, and substitute king or amazon\n"
-                                 "for missing bitmaps. (See manual.)")},
 { 0, NO_OK, 0, NULL, NULL, "", NULL, EndMark , "" }
 };
 
@@ -752,13 +746,13 @@ SoundOptionsProc ()
 static void DefColor P((int n));
 static void AdjustColor P((int i));
 
-static char oldPngDir[MSG_SIZ];
+static char oldPieceDir[MSG_SIZ];
 
 static int
 BoardOptionsOK (int n)
 {
     if(appData.overrideLineGap >= 0) lineGap = appData.overrideLineGap; else lineGap = defaultLineGap;
-    InitDrawingParams(strcmp(oldPngDir, appData.pngDirectory));
+    InitDrawingParams(strcmp(oldPieceDir, appData.pieceDirectory));
     InitDrawingSizes(-1, 0);
     DrawPosition(True, NULL);
     return 1;
@@ -812,7 +806,8 @@ static Option boardOptions[] = {
 { 0, 0, 0, NULL, (void*) &appData.useBitmaps, "", NULL, CheckBox, N_("Use Board Textures") },
 { 0, 0, 0, NULL, (void*) &appData.liteBackTextureFile, ".xpm", NULL, FileName, N_("Light-Squares Texture File:") },
 { 0, 0, 0, NULL, (void*) &appData.darkBackTextureFile, ".xpm", NULL, FileName, N_("Dark-Squares Texture File:") },
-{ 0, 0, 0, NULL, (void*) &appData.pngDirectory, "", NULL, PathName, N_("Directory with PNG Pieces:") },
+{ 0, 0, 0, NULL, (void*) &appData.trueColors, "", NULL, CheckBox, N_("Use external piece bitmaps with their own colors") },
+{ 0, 0, 0, NULL, (void*) &appData.pieceDirectory, "", NULL, PathName, N_("Directory with Pieces Images:") },
 { 0, 0, 0, NULL, (void*) &BoardOptionsOK, "", NULL, EndMark , "" }
 };
 
@@ -861,7 +856,7 @@ AdjustColor (int i)
 void
 BoardOptionsProc ()
 {
-   strncpy(oldPngDir, appData.pngDirectory, MSG_SIZ-1); // to see if it changed
+   strncpy(oldPieceDir, appData.pieceDirectory, MSG_SIZ-1); // to see if it changed
    GenericPopUp(boardOptions, _("Board Options"), TransientDlg, BoardWindow, MODAL, 0);
 }
 
@@ -1824,10 +1819,12 @@ DisplayFatalError (String message, int error, int status)
        snprintf(buf, sizeof(buf), "%s: %s", message, strerror(error));
        message = buf;
     }
-    if (appData.popupExitMessage && boardWidget && XtIsRealized(boardWidget)) {
-      ErrorPopUp(status ? _("Fatal Error") : _("Exiting"), message, TRUE);
-    } else {
-      ExitEvent(status);
+    if(mainOptions[W_BOARD].handle) {
+       if (appData.popupExitMessage) {
+           ErrorPopUp(status ? _("Fatal Error") : _("Exiting"), message, TRUE);
+       } else {
+           ExitEvent(status);
+       }
     }
 }
 
@@ -2073,6 +2070,7 @@ Exp (int n, int x, int y)
        case 10:
            sizing = (oldW != x || oldH != y);
            oldW = x; oldH = y;
+           InitDrawingHandle(mainOptions + W_BOARD);
            if(sizing) return NULL; // don't redraw while sizing
            DrawPosition(True, NULL);
        default: