]> www.fi.muni.cz Git - slotcarman.git/blobdiff - SCX/GUI.pm
Timekeeping and GUI development.
[slotcarman.git] / SCX / GUI.pm
index c073560dce160881098a93395c3ba8b7756a6010..2f1aa5af7b08349f5038afd1c2f59167fb2d3f1f 100755 (executable)
@@ -113,9 +113,9 @@ sub load_all_images {
        $self->{fuel_images} = [
                        load_image_set('img/fuel%d.svg', 8, int(0.6 * $h))
        ];
-       $self->{car_images} = load_image_dir('img/SCXCars', $h),
-       $self->{semaphore_images} => [
-                       load_image_set('img/semaphore%d.svg', 5, 2 * $h)
+       $self->{car_images} = load_image_dir('img/SCXCars', $h);
+       $self->{semaphore_images} = [
+                       load_image_set('img/semaphore%d.svg', 5, 1.5 * $h)
        ];
 };
 
@@ -214,9 +214,27 @@ sub set_car_icon {
 sub set_lap {
        my ($self, $row, $text) = @_;
 
+       $text = '--' if !defined $text;
+
        $self->set_label('label_lap', $row, $text, 'lap');
 }
 
+sub set_distance {
+       my ($self, $row, $time, $lap_diff, $time_diff) = @_;
+
+       my $text = '--';
+
+       if (defined $time) {
+               $text = format_race_time($time);
+       } elsif (defined $time_diff) {
+               $text = '−' . format_lap_time($time_diff);
+       } elsif (defined $lap_diff) {
+               $text = '−' . $lap_diff . ' laps';
+       }
+
+       $self->set_label('label_distance', $row, $text);
+}
+
 sub set_laptime {
        my ($self, $row, $text) = @_;
 
@@ -241,6 +259,12 @@ sub set_name {
        $self->set_label('label_name', $row, $text);
 }
 
+sub set_car_id {
+       my ($self, $row, $text) = @_;
+
+       $self->set_label('label_car_id', $row, $text);
+}
+
 sub enter_pit_lane {
        my ($self, $row) = @_;
        $self->set_label('label_laptime', $row, 'PIT');
@@ -299,8 +323,8 @@ sub format_race_time {
        $seconds -= 60 * $mins;
 
        return $hours
-               ? sprintf('%d:%02d:%05.2f', $hours, $mins, $seconds)
-               : sprintf('%d:%05.2f', $mins, $seconds);
+               ? sprintf('%d:%02d:%04.1f', $hours, $mins, $seconds)
+               : sprintf('%d:%04.1f', $mins, $seconds);
 }
 
 sub format_lap_time {