Winboard intentionally delays 10 seconds, before it starts the new game of a match, even if (or in fact especially if) you 'reuse' the engine:
- Code: Select all
if (matchGame < appData.matchGames) {
char *tmp;
tmp = first.twoMachinesColor;
first.twoMachinesColor = second.twoMachinesColor;
second.twoMachinesColor = tmp;
gameMode = nextGameMode;
matchGame++;
ScheduleDelayedEvent(NextMatchGame, 10000);
return;
} else {
I could easily make this 10000 (msec) a user-definable parameter, through, say, a command-line option '/matchPause'.
But probably it is there for a reason. The engine might need some time reinitializing, after a game end (e.g. clearing its hash table). I am not sure what would happen if you don't give it that time. Perhaps its clock will be started too early, before it is ready to start playing.