From: H.G. Muller Date: Fri, 18 Jan 2013 16:18:40 +0000 (+0100) Subject: Give reason when Lion captures are rejected as illegal X-Git-Tag: 0.18~70 X-Git-Url: http://winboard.nl/cgi-bin?p=hachu.git;a=commitdiff_plain;h=8b9b119cd471219b66a0e943381a9621dd04a256 Give reason when Lion captures are rejected as illegal --- 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