]> www.fi.muni.cz Git - slotcarman.git/blobdiff - gui.pl
Make the main app use SCX::Parser
[slotcarman.git] / gui.pl
diff --git a/gui.pl b/gui.pl
index 6d3295ee0fa8dcecf48960206d8b38dfdfb74c15..7cfe6085f24085b14aa7fdf8c1cfb32927d45423 100755 (executable)
--- a/gui.pl
+++ b/gui.pl
@@ -9,19 +9,35 @@ use Glib qw(TRUE FALSE);
 use SCX::GUI;
 use SCX::Track;
 use SCX::Reader;
+use SCX::RaceParser;
 
-my $gui = SCX::GUI->new({ img_height => 80 });
+my $gui = SCX::GUI->new({ img_height => 120 });
 my $track = SCX::Track->new({ gui => $gui });
 
-my $reader;
-eval {
-       $reader = SCX::Reader->new({
-               portname   => '/dev/ttyUSB0',
-               logfile    => 'log',
-               track      => $track,
+my $logfile = 'log';
+my $tty = '/dev/ttyUSB0';
+
+if (defined $ARGV[0] && $ARGV[0] eq '-') {
+       $logfile = undef;
+       $tty = '-';
+}
+
+my $parser = SCX::RaceParser->new({
+       track => $track,
+       logfile => $logfile,
+});
+
+my $reader = eval {
+       SCX::Reader->new({
+               filename   => $tty,
+               parser     => $parser,
        });
 };
 
+if ($@) {
+       print STDERR "Demo mode only: $@";
+}
+
 $track->car(0)->set_model('F1 Ferrari');
 $track->car(1)->set_model('F1 McLaren');
 $track->car(2)->set_model('F1 Williams');
@@ -46,7 +62,12 @@ if ($reader) {
        $track->{race_running_since} = $now;
        $track->{race_running} = 1;
 
-       $track->car(0)->finish_line($now + 2.5, 1);
+       $track->finish_line($now + 0.5, 1, 2);
+       $track->finish_line($now + 0.7, 1, 1);
+       $track->finish_line($now + 4.9, 1, 1);
+       $track->finish_line($now + 5.3, 1, 2);
+       $track->finish_line($now + 7.2, 1, 1);
+       $track->finish_line($now + 8.1, 0, 2);
 #      $track->car(0)->set_lap(13);
 #      $track->car(1)->set_lap(11);
 #      $track->car(2)->set_lap(10);
@@ -54,16 +75,16 @@ if ($reader) {
 #      $track->car(4)->set_lap(undef);
 #      $track->car(5)->set_lap(undef);
 
-#      $track->car(0)->set_laptime(9.12322);
-#      $track->car(1)->set_laptime(15.313);
-#      $track->car(2)->set_laptime(5.989);
+       $track->car(0)->set_laptime(9.12322);
+       $track->car(1)->set_laptime(15.313);
+       $track->car(2)->set_laptime(5.989);
 
        $track->car(0)->set_fuel(6);
        $track->car(1)->set_fuel(2);
        $track->car(2)->set_fuel(8);
 
        $track->car(0)->set_throttle(0);
-       $track->car(1)->set_throttle(8);
+       $track->car(1)->set_throttle(8, 1);
        $track->car(2)->set_throttle(12);
 }