Fix Seirawan gating at Rook square in PGN castling moves
[xboard.git] / board.c
diff --git a/board.c b/board.c
index 30cea29..67e19ca 100644 (file)
--- a/board.c
+++ b/board.c
@@ -194,7 +194,7 @@ SetPremoveHighlights (int fromX, int fromY, int toX, int toY)
     }
     if (pm2X != toX || pm2Y != toY) {
        if (pm2X >= 0 && pm2Y >= 0) {
-           damage[0][pm1Y][pm1X] |= 2;
+           damage[0][pm2Y][pm2X] |= 2;
        }
     }
     pm1X = fromX;
@@ -641,7 +641,7 @@ again:
   if(Explode(board, fromX, fromY, toX, toY)) { // mark as damaged
     int i,j;
     for(i=0; i<BOARD_WIDTH; i++) for(j=0; j<BOARD_HEIGHT; j++)
-      if((i-toX)*(i-toX) + (j-toY)*(j-toY) < 6) damage[0][j][i] |=  1 + ((i-toX ^ j-toY) & 1);
+      if((i-toX)*(i-toX) + (j-toY)*(j-toY) < 6) damage[0][j][i] |= 2;
   }
 
   /* Be sure end square is redrawn, with piece in it */
@@ -914,7 +914,7 @@ SquareExpose(int i, int j, int d)
 }
 
 void
-DrawPosition (int repaint, Board board)
+DrawPositionX (int repaint, Board board)
 {
     int i, j, do_flash, exposeAll = False;
     static int lastFlipView = 0;
@@ -1059,7 +1059,7 @@ DrawPosition (int repaint, Board board)
                q = strchr(p, '\n');
                if(q) *q = NULLCHAR;
                if(!strstr(appData.suppress, p)) {
-                   if(i == 0) DrawSeekBackground(2*squareSize, 3*squareSize, 6*squareSize, 5*squareSize);
+                   if(i == 0) DrawSeekBackground(2*squareSize, 3*squareSize, 6.5*squareSize, 5*squareSize);
                    DrawText(p, 2*squareSize + 5, (int) ((3 + 0.3*i++)*squareSize) + 5, 2);
                }
                if(q) *q++ = '\n'; else q = "";