return;
}
doubleClick = FALSE;
+ if(gameMode == AnalyzeMode && pausing && first.excludeMoves) { // use pause state to exclude moves
+ doubleClick = TRUE; gatingPiece = boards[currentMove][y][x];
+ }
fromX = x; fromY = y; toX = toY = -1;
if(!appData.oneClick || !OnlyMove(&x, &y, FALSE) ||
// even if only move, we treat as normal when this would trigger a promotion popup, to allow sweep selection
char buf[MSG_SIZ];
extern char *icsNames;
if(!s || !*s) return 0;
- NamesToList(n == 10 ? icsNames : firstChessProgramNames, command, mnemonic, "all");
+ NamesToList(n >= 10 ? icsNames : firstChessProgramNames, command, mnemonic, "all");
for(i=1; mnemonic[i]; i++) if(!strcmp(s, mnemonic[i])) break;
if(!mnemonic[i]) return 0;
+ if(n == 11) return 1; // just testing if there was a match
snprintf(buf, MSG_SIZ, "-%s %s", n == 10 ? "icshost" : "fcp", command[i]);
if(n == 1) SwapEngines(n);
ParseArgsFromString(buf);
WhiteOnMove(forwardMostMove))) {
StopClocks();
}
+ case AnalyzeMode:
pausing = TRUE;
ModeHighlight();
break;