X-Git-Url: http://winboard.nl/cgi-bin?a=blobdiff_plain;f=hachu.c;h=7fd6fb867be77be6f6a3fbfd4b958c2827865d6e;hb=8b9b119cd471219b66a0e943381a9621dd04a256;hp=6de0d3961bf1ae0fc8cd8479d77d5b4c12e88f4a;hpb=695036cf734c6a458b1371910eb616cda9f56915;p=hachu.git diff --git a/hachu.c b/hachu.c index 6de0d39..7fd6fb8 100644 --- a/hachu.c +++ b/hachu.c @@ -1665,7 +1665,11 @@ MapFromScratch(attacks); // for as long as incremental update does not work. if(promoSuppress & PROMOTE) score = -INF; // non-Lion captures Lion after opponent did same defer |= PROMOTE; // if we started, flag he cannot do it in reply } - if(score == -INF) { moveStack[curMove] = 0; goto abortMove; } // zap illegal moves + if(score == -INF) { + if(level == 1) repeatMove[repCnt++] = move & 0xFFFFFF | (p[tb.piece].value == 10*LVAL ? 3<<24 : 1 << 24); + moveStack[curMove] = 0; // zap illegal moves + goto abortMove; + } } #if 1 score = -Search(-beta, -iterAlpha, -difEval - tb.booty, replyDep, promoSuppress & ~PROMOTE, defer); @@ -1954,7 +1958,8 @@ printf("# deferral of %d\n", deferred); for(i=retFirst; i