int Resign;\r
int Threshold = 800;\r
int Score;\r
+int makruk;\r
char piecename[32], piecetype[32], blacktype[32];\r
char *inifile = INI_FILE;\r
\r
+(w[b[x^16]&15]<0)) /*** cling to magnetic K ***/\r
+(R-76>>2); /* end-game Pawn-push bonus */\r
b[y]+=V=y+r+1&S?647-p:2*(u&y+16&32); /* upgrade P or convert to Q*/\r
+ if(V&makruk)b[y]=u|7,V=480; /* Makruk promotion on 6th */\r
V>>=sh; /* for Shatranj promo to F */\r
i+=V; /* promotion / passer bonus */\r
} if(z&S && GamePtr<6) v+=(rand()>>10&31)-16;\r
SHAMAX( pl[k]+=!!t; )\r
b[G]=k+6;b[FF]=b[y]=0;b[x]=u;b[H]=t; /* undo move,G can be dummy */\r
} /* if non-castling */\r
- if(z&S&&Post&v>V&v<l){int *p=ps;char X,Y;\r
+ if(z&S&&Post&K==I&d>2&v>V&v<l){int *p=ps;char X,Y;\r
printf("%2d ",d-2);\r
printf("%6d ",v);\r
printf("%8d %10d",(GetTickCount()-Ticks)/10,N);\r
\r
fclose(f);\r
sh = w[7] < 250 ? 3 : 0;\r
+ makruk = w[7]==181 ? 64 : 0; // w[7] is used as kludge to enable makruk promotions\r
}\r
\r
int main(int argc, char **argv)\r