X-Git-Url: https://git.sesse.net/?p=remoteglot;a=blobdiff_plain;f=remoteglot.pl;h=049cdabaafaa0f0f824bec3cb0df34f147176fe2;hp=dec440bafd4137ade2da8cedd6dd4f1c3706e1f6;hb=b4059a786029132eb27769a42ca52eca6d8b44cc;hpb=467e50a8cfaf38bd84053401ce4cc652f543ca74 diff --git a/remoteglot.pl b/remoteglot.pl index dec440b..049cdab 100755 --- a/remoteglot.pl +++ b/remoteglot.pl @@ -290,6 +290,7 @@ sub handle_pgn { 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'}; @@ -393,7 +394,7 @@ sub handle_position { # 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()); @@ -406,7 +407,7 @@ sub handle_position { 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()); @@ -909,6 +910,7 @@ sub output_json { } 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);