]> www.fi.muni.cz Git - slotcarman.git/blobdiff - SCX/Car.pm
More fixes.
[slotcarman.git] / SCX / Car.pm
index b6466be7ad12ad3b97ffbf66b82a6a0cf386376a..91a244d129d83136d146329f133bade6233d8609 100644 (file)
@@ -100,6 +100,12 @@ sub set_lap {
        }
                
        return if $self->same('lap', $lap_nr);
+       if (defined $self->{lap} && defined $self->track->{race_rounds}
+               && $self->track->{race_rounds} > 0
+               && $self->{lap} > $self->track->{race_rounds}) {
+               $self->{finished} = 1;
+               $self->print_state;
+       }
        $self->gui->set_lap($self->{order}, $lap_nr);
        if ($self->track->{race_running} && $self->{lap} > 1) {
                my $now = $self->{last_finish_time};
@@ -192,8 +198,6 @@ sub print_state {
 
        if ($self->{in_pit_lane}) {
                $self->{state} = 'pit';
-       } elsif ($self->{running}) {
-               $self->{state} = 'go';
        } elsif ($self->{finished}) {
                $self->{state} = 'finished';
        } elsif ($self->{early_start}) {
@@ -210,6 +214,7 @@ sub reset {
 
        $self->set_lap(0);
        $self->set_laptime(undef);
+       $self->{finished} = 0;
        $self->{in_pit_lane} = 0;
        $self->{early_start} = undef;
        $self->{last_finish_time} = undef;
@@ -270,6 +275,7 @@ sub recalc_distance {
 
        $self->gui->set_distance($self->{order}, $time,
                $self->{lap_diff}, $self->{time_diff});
+       $self->{grey_diff} = undef;
 }
 
 1;