X-Git-Url: https://git.sesse.net/?p=remoteglot;a=blobdiff_plain;f=remoteglot.pl;h=1b06f05f88c2f29ff65c24ba011817afbd65acec;hp=e021c664894e4fb0a077f82ec81d79abff6fc61b;hb=7c106ea7120a60e4e71a59bb679fa9ce09fc241a;hpb=48c786c43fab6dfe37c0fe70aa474431f33d2b27 diff --git a/remoteglot.pl b/remoteglot.pl index e021c66..1b06f05 100755 --- a/remoteglot.pl +++ b/remoteglot.pl @@ -556,8 +556,15 @@ sub complete_using_tbprobe { my $key = join('', @pv); my @moves = (); if (exists($pos->{'tbprobe_cache'}{$key})) { - @moves = $pos->{'tbprobe_cache'}{$key}; + @moves = @{$pos->{'tbprobe_cache'}{$key}}; } else { + if ($mpv ne '') { + # Force doing at least one move of the PV. + my $move = shift @pv; + push @moves, $move; + $pos = $pos->make_move(parse_uci_move($move)); + } + while ($pos->num_pieces() > 6 && $#pv > -1) { my $move = shift @pv; push @moves, $move; @@ -579,6 +586,8 @@ sub complete_using_tbprobe { ($pos, $uci_move) = $pos->make_pretty_move($move); push @moves, $uci_move; } + + $pos->{'tbprobe_cache'}{$key} = \@moves; } $info->{'pv' . $mpv} = \@moves;