MoveList(opponent, 2, -1, true);
generate_move_flags = false;
pnt = TrPnt[2];
+ if(s[4] == '=') s[4] = '\0'; /* deferral is implied */
while (pnt < TrPnt[3])
{
} else {
strcpy(sx, command);
backlog[0]= '\0'; /* make sure no backlog is left */
- done = true;
+ command = NULL;
}
/* extract first word */
if (sscanf(sx, "%s", s) < 1)
continue;
- if (!root && strcmp(s, "."))
+ if (!root && strcmp(s, ".") && strcmp(s, "time") && strcmp(s, "otim"))
{ /* during search most commands can only be done after abort */
strcpy(backlog, sx); /* backlog the command */
return true; /* and order search abort */
"shogi"
#endif
);
- printf("debug=1 setboard=0 sigint=0 memory=1 setboard=1 done=1\n");
+ printf("debug=1 setboard=1 sigint=0 memory=1 usermove=1 done=1\n");
}
else if (strcmp(s, ".") == 0)
{ // periodic update request of analysis info: send stat01 info
}
else
{
+ if (strcmp(s, "usermove") == 0)
+ sscanf(sx + 9, "%s", s);
+
if (flag.mate)
{
ok = true;