Remove some of the most verbose debug output
[xboard.git] / xboard.c
index 559843c..dbea540 100644 (file)
--- a/xboard.c
+++ b/xboard.c
@@ -540,6 +540,7 @@ int squareSize, smallLayout = 0, tinyLayout = 0,
   ICSInputBoxUp = False, askQuestionUp = False,
   filenameUp = False, promotionUp = False, pmFromX = -1, pmFromY = -1,
   errorUp = False, errorExitStatus = -1, lineGap, defaultLineGap;
+Dimension textHeight;
 Pixel timerForegroundPixel, timerBackgroundPixel;
 Pixel buttonForegroundPixel, buttonBackgroundPixel;
 char *chessDir, *programName, *programVersion,
@@ -960,7 +961,7 @@ XtActionsRec boardActions[] = {
     { "EvalGraphProc", EvalGraphProc},       // [HGM] Winboard_x avaluation graph window
     { "ShowGameListProc", ShowGameListProc },
     { "ShowMoveListProc", HistoryShowProc},
-    { "EditTagsProc", EditCommentProc },
+    { "EditTagsProc", EditTagsProc },
     { "EditBookProc", EditBookProc },
     { "EditCommentProc", EditCommentProc },
     { "IcsInputBoxProc", IcsInputBoxProc },
@@ -1817,7 +1818,7 @@ InitDrawingSizes (BoardSize boardSize, int flags)
     }
   }
 #if HAVE_LIBXPM
-  if(appData.monoMode == oldMono)
+  if(appData.monoMode != oldMono)
     CreateAnimVars();
 #endif
   oldMono = appData.monoMode;
@@ -2313,7 +2314,7 @@ XBoard square size (hint): %d\n\
                     messageArgs, XtNumber(messageArgs));
     XtSetArg(args[0], XtNtop,    XtChainTop);
     XtSetArg(args[1], XtNbottom, XtChainTop);
-    XtSetValues(messageWidget, args, 2);
+    XtSetValues(messageWidget, args, 3);
 
     widgetList[j++] = boardWidget =
       XtCreateWidget("board", widgetClass, formWidget, boardArgs,
@@ -2459,6 +2460,7 @@ XBoard square size (hint): %d\n\
       fprintf(stderr, _("%s: messageWidget geometry error %d %d %d %d %d\n"),
              programName, gres, w, h, wr, hr);
     }
+    textHeight = hr; // [HGM] save height for use in generic popup
     /* !! end hack */
     XtSetArg(args[0], XtNleft,  XtChainLeft);  // [HGM] glue ends for good run-time sizing
     XtSetArg(args[1], XtNright, XtChainRight);
@@ -4213,6 +4215,8 @@ SetHighlights (int fromX, int fromY, int toX, int toY)
            drawHighlight(toX, toY, highlineGC);
        }
     }
+    if(toX<0) // clearing the highlights must have damaged arrow
+       DrawArrowHighlight(hi1X, hi1Y, hi2X, hi2Y); // for now, redraw it (should really be cleared!)
     hi1X = fromX;
     hi1Y = fromY;
     hi2X = toX;
@@ -8243,11 +8247,6 @@ AnimateMove (Board board, int fromX, int fromY, int toX, int toY)
   hop = abs(fromX-toX) == 1 && abs(fromY-toY) == 2 || abs(fromX-toX) == 2 && abs(fromY-toY) == 1;
 #endif
 
-  if (appData.debugMode) {
-      fprintf(debugFP, hop ? _("AnimateMove: piece %d hops from %d,%d to %d,%d \n") :
-                             _("AnimateMove: piece %d slides from %d,%d to %d,%d \n"),
-             piece, fromX, fromY, toX, toY);  }
-
   ScreenSquare(fromX, fromY, &start, &startColor);
   ScreenSquare(toX, toY, &finish, &endColor);
 
@@ -8590,11 +8589,25 @@ DrawArrowBetweenPoints (int s_x, int s_y, int d_x, int d_y)
 //    Polygon( hdc, arrow, 7 );
 }
 
+void
+ArrowDamage (int s_col, int s_row, int d_col, int d_row)
+{
+    int hor, vert, i;
+    hor = 64*s_col + 32; vert = 64*s_row + 32;
+    for(i=0; i<= 64; i++) {
+            damage[0][vert+6>>6][hor+6>>6] = True;
+            damage[0][vert-6>>6][hor+6>>6] = True;
+            damage[0][vert+6>>6][hor-6>>6] = True;
+            damage[0][vert-6>>6][hor-6>>6] = True;
+            hor += d_col - s_col; vert += d_row - s_row;
+    }
+}
+
 /* [AS] Draw an arrow between two squares */
 void
 DrawArrowBetweenSquares (int s_col, int s_row, int d_col, int d_row)
 {
-    int s_x, s_y, d_x, d_y, hor, vert, i;
+    int s_x, s_y, d_x, d_y;
 
     if( s_col == d_col && s_row == d_row ) {
         return;
@@ -8631,15 +8644,7 @@ DrawArrowBetweenSquares (int s_col, int s_row, int d_col, int d_row)
     A_WIDTH = squareSize / 14.; //[HGM] make float
 
     DrawArrowBetweenPoints( s_x, s_y, d_x, d_y );
-
-    hor = 64*s_col + 32; vert = 64*s_row + 32;
-    for(i=0; i<= 64; i++) {
-            damage[0][vert+6>>6][hor+6>>6] = True;
-            damage[0][vert-6>>6][hor+6>>6] = True;
-            damage[0][vert+6>>6][hor-6>>6] = True;
-            damage[0][vert-6>>6][hor-6>>6] = True;
-            hor += d_col - s_col; vert += d_row - s_row;
-    }
+    ArrowDamage(s_col, s_row, d_col, d_row);
 }
 
 Boolean