}
if (pm2X != toX || pm2Y != toY) {
if (pm2X >= 0 && pm2Y >= 0) {
- damage[0][pm1Y][pm1X] |= 2;
+ damage[0][pm2Y][pm2X] |= 2;
}
}
pm1X = fromX;
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 */
}
void
-DrawPosition (int repaint, Board board)
+DrawPositionX (int repaint, Board board)
{
int i, j, do_flash, exposeAll = False;
static int lastFlipView = 0;
SquareExpose(i, j, lineGap);
else
SquareExpose(i, j, 0);
- damage[nr][i][j] = 0;
+ if(nr == 0) damage[nr][i][j] = 0; // on auxiliary board we retain arrow damage
}
}
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 = "";