my $pos;
if (exists($tags->{'FEN'})) {
$pos = Position->from_fen($tags->{'FEN'});
+ $pos->{'last_move'} = 'none';
$pos->{'player_w'} = $white;
$pos->{'player_b'} = $black;
$pos->{'start_fen'} = $tags->{'FEN'};
# and per the UCI spec, we should really have sent "ucinewgame"),
# but it's easier, and it works around a Stockfish repetition issue.
if ($engine->{'chess960'} != $pos->{'chess960'}) {
- uciprint($engine, "setoption UCI_Chess960 " . ($pos->{'chess960'} ? 'true' : 'false'));
+ uciprint($engine, "setoption name UCI_Chess960 value " . ($pos->{'chess960'} ? 'true' : 'false'));
$engine->{'chess960'} = $pos->{'chess960'};
}
uciprint($engine, "position fen " . $pos->fen());
uciprint($engine2, "stop");
}
if ($engine2->{'chess960'} != $pos->{'chess960'}) {
- uciprint($engine2, "setoption UCI_Chess960 " . ($pos->{'chess960'} ? 'true' : 'false'));
+ uciprint($engine2, "setoption name UCI_Chess960 value " . ($pos->{'chess960'} ? 'true' : 'false'));
$engine2->{'chess960'} = $pos->{'chess960'};
}
uciprint($engine2, "position fen " . $pos->fen());
} else {
$pos = Position->start_pos('white', 'black');
}
+ $pos->{'chess960'} = $pos_calculating->{'chess960'};
my $halfmove_num = 0;
for my $move (@{$pos_calculating->{'history'}}) {
my $id = id_for_pos($pos, $halfmove_num);