X-Git-Url: http://winboard.nl/cgi-bin?a=blobdiff_plain;f=backend.c;h=ba658ea7b25547c1f5bf158d66a42fcf3b724232;hb=c6cf9d8d64aded07d2dc0281699990775199870f;hp=bd4bd7549b8149099e75a030240cd641bb72f981;hpb=6fc36efaa39c45911689000cfe10fd5c60aaf21b;p=xboard.git diff --git a/backend.c b/backend.c index bd4bd75..ba658ea 100644 --- a/backend.c +++ b/backend.c @@ -957,6 +957,7 @@ InitBackEnd1() case VariantJanus: /* should work */ case VariantSuper: /* experimental */ case VariantGreat: /* experimental, requires legality testing to be off */ + case VariantSChess: /* S-Chess, should work */ break; } } @@ -6439,8 +6440,9 @@ void LeftClick(ClickType clickType, int xPix, int yPix) MarkTargetSquares(0); DragPieceBegin(xPix, yPix); } - return; } + if(x == fromX && y == fromY) return; // if OnlyMove altered (x,y) we go on + second = FALSE; } // ignore clicks on holdings if(x < BOARD_LEFT || x >= BOARD_RGHT) return; @@ -6518,7 +6520,7 @@ void LeftClick(ClickType clickType, int xPix, int yPix) } // off-board moves should not be highlighted - if(x < 0 || x < 0) ClearHighlights(); + if(x < 0 || y < 0) ClearHighlights(); if (HasPromotionChoice(fromX, fromY, toX, toY, &promoChoice)) { SetHighlights(fromX, fromY, toX, toY); @@ -13560,6 +13562,8 @@ ReceiveFromProgram(isr, closure, message, count, error) sscanf(message, "error %c", &c)!=1 && sscanf(message, "illegal %c", &c)!=1 && sscanf(message, "tell%c", &c)!=1 && sscanf(message, "0-1 %c", &c)!=1 && sscanf(message, "1-0 %c", &c)!=1 && sscanf(message, "1/2-1/2 %c", &c)!=1 && + sscanf(message, "setboard %c", &c)!=1 && sscanf(message, "setup %c", &c)!=1 && + sscanf(message, "hint: %c", &c)!=1 && sscanf(message, "pong %c", &c)!=1 && start != '#') { quote = appData.engineComments == 2 ? "# " : "### NON-COMPLIANT! ### "; print = (appData.engineComments >= 2);