}
$pgn->parse_game({ save_comments => 'yes' });
- my $pos = Position->start_pos($pgn->white, $pgn->black);
+ my $white = $pgn->white;
+ my $black = $pgn->black;
+ $white =~ s/,.*//; # Remove first name.
+ $black =~ s/,.*//; # Remove first name.
+ my $pos = Position->start_pos($white, $black);
my $moves = $pgn->moves;
my @uci_moves = ();
my @repretty_moves = ();
push @repretty_moves, $pretty;
$pos = $npos;
}
- $pos->{'result'} = $pgn->result;
+ if ($pgn->result eq '1-0' || $pgn->result eq '1/2-1/2' || $pgn->result eq '0-1') {
+ $pos->{'result'} = $pgn->result;
+ }
$pos->{'pretty_history'} = \@repretty_moves;
extract_clock($pgn, $pos);
}
# Give out a list of other games going on. (Empty is fine.)
+ # TODO: Don't bother reading our own file, the data will be stale anyway.
if (!$historic_json_only) {
my @games = ();
my $white = $other_game_json->{'position'}{'player_w'} // die 'Missing white';
my $black = $other_game_json->{'position'}{'player_b'} // die 'Missing black';
- push @games, {
+ my $game = {
id => $ref->{'id'},
name => "$white–$black",
url => $ref->{'url'},
hashurl => $ref->{'hash_url'},
};
+ if (defined($other_game_json->{'position'}{'result'})) {
+ $game->{'result'} = $other_game_json->{'position'}{'result'};
+ } else {
+ $game->{'score'} = $other_game_json->{'score'};
+ }
+ push @games, $game;
};
if ($@) {
warn "Could not add external game " . $ref->{'json_path'} . ": $@";