- $self->{round} = 0;
- $self->{race_running} = 0;
- $self->{start_in_progress} = 1;
- $self->{semaphore} = 0;
- $self->{gui}->show_semaphore(0);
- Glib::Timeout->add($SEMAPHORE_STEP, \&semaphore_step, $self);
+
+ if ($time - $self->{qualification_setup} < 1) {
+ $self->{qualification_running} = 1;
+ } elsif ($self->{no_semaphore}) {
+ $self->{round} = 0;
+ $self->{race_running} = 1;
+ $self->{race_running_since} = $self->{now};
+ $self->{start_in_progress} = undef;
+ } else {
+ $self->{round} = 0;
+ $self->{race_running} = 0;
+ $self->{start_in_progress} = 1;
+ $self->{semaphore} = 0;
+ $self->{gui}->show_semaphore(0);
+ Glib::Timeout->add($SEMAPHORE_STEP, \&semaphore_step, $self);
+ }
+ $self->print_rounds;