X-Git-Url: http://winboard.nl/cgi-bin?a=blobdiff_plain;f=fairymax.c;fp=fairymax.c;h=b236e4d54bb18ab4d20c1f49ad0c2cfd7c372e4e;hb=319c6cd9990e350a23689b30053b25660c2c3d8f;hp=bdb76e4478f206a50a0ae45a79040c7a36b75134;hpb=40c8a6b427486601a70e7c82d475cd9948eae619;p=fairymax.git diff --git a/fairymax.c b/fairymax.c index bdb76e4..b236e4d 100644 --- a/fairymax.c +++ b/fairymax.c @@ -232,8 +232,9 @@ int k,q,l,e,ev,E,z,n; /* (q,l)=window, e=current eval. score, E=e.p. sqr.*/ if(z&S&&K-I) /* move pending: check legal*/ {if(v+I&&x==K&y==L>==GT) /* if move found */ {Q=-e-i;O=F;LL=L;prom=gt; - if(b[y]-u&15)prom=b[y]-=PromPiece, /* under-promotion, correct */ - pl[u&31]--,pl[prom&31]++,Z+=PromPiece;/*piece & invalidate hash */ + if(b[y]-u&15)prom=b[y]-=PromPiece, /* (under-)promotion: */ + Q-=abs(w[prom&=31])-w[p]-6*S, /* correct piece & score & */ + pl[u&31]--,pl[prom]++,Z+=PromPiece; /* count & invalidate hash */ a->D=99;a->V=0; /* lock game in hash as draw*/ R-=i/FAC; /*** total captd material ***/ Fifty = t|p<3?0:Fifty+1;