/[james]/t2matchlog/t2matchlog
ViewVC logotype

Diff of /t2matchlog/t2matchlog

Parent Directory Parent Directory | Revision Log Revision Log | View Patch Patch

revision 46 by james, Sun Dec 21 00:09:48 2003 UTC revision 47 by james, Thu Jan 22 23:53:16 2004 UTC
# Line 17  $| = 1; Line 17  $| = 1;
17  my $near0 = 70;  my $near0 = 70;
18  my $near1 = 200;  my $near1 = 200;
19  my $thumbsize = 400;  my $thumbsize = 400;
20    my $html_extension = '';
21    
22  # from damageTypes.cs  # from damageTypes.cs
23  my @DamageTypeText;  my @DamageTypeText;
# Line 89  my %desc = ('S' => 'spawned on team $tea Line 90  my %desc = ('S' => 'spawned on team $tea
90                  'W' => 'vehicle destroyed',                  'W' => 'vehicle destroyed',
91                  'G' => 'entered " . vehicle_link($p1) . " as ${seat{$p2}}',                  'G' => 'entered " . vehicle_link($p1) . " as ${seat{$p2}}',
92                  'J' => 'ejected from vehicle',                  'J' => 'ejected from vehicle',
93                  'GG' => '<a href=\'" . safe_name($p1) . ".html#t$time\'>$p1</a> entered as ${seat{$p2}}',                  'GG' => '<a href=\'" . safe_name($p1) . $html_extension . "#t$time\'>$p1</a> entered as ${seat{$p2}}',
94                  'JJ' => '<a href=\'" . safe_name($p1) . ".html#t$time\'>$p1</a> ejected',                  'JJ' => '<a href=\'" . safe_name($p1) . $html_extension . "#t$time\'>$p1</a> ejected',
95                  'C' => '<strong>${melink}captured the $team_name[$p1] flag!</strong>',                  'C' => '<strong>${melink}captured the $team_name[$p1] flag!</strong>',
96                  'R' => '${melink}returned the $team_name[$p1] flag',);                  'R' => '${melink}returned the $team_name[$p1] flag',);
97  my @teamcol = (0xffffff, 0x0000ff, 0xff00ff);  my @teamcol = (0xffffff, 0x0000ff, 0xff00ff);
98  my %seat = ('' => 'a passenger', 'p' => 'pilot', 'w' => 'gunner');  my %seat = ('' => 'a passenger', 'p' => 'pilot', 'w' => 'gunner');
99  my %veh_name = ('BomberFlyer' => 'Bomber',  my %veh_name = ('bomberflyer' => 'Bomber',
100                  'HAPCFlyer' => 'Havoc',                  'hapcflyer' => 'Havoc',
101                  'MobileBaseVehicle' => 'MPB',                  'mobilebasevehicle' => 'MPB',
102                  'ScoutFlyer' => 'Shrike',                  'scoutflyer' => 'Shrike',
103                  'AssaultVehicle' => 'Tank',                  'assaultvehicle' => 'Tank',
104                  'ScoutVehicle' => 'Wildcat');                  'scoutvehicle' => 'Wildcat');
105    
106  my ($mission, $mission_type, $mission_name, $mission_type_name, $x0, $y0, $width, $height);  my ($mission, $mission_type, $mission_name, $mission_type_name, $x0, $y0, $width, $height);
107  my (@landmarks, @waypoints);  my (@landmarks, @waypoints);
# Line 227  sub read_data { Line 228  sub read_data {
228                                  push @events, [$time, 'KK', $name{$player_veh{$name{$killer}}},                                  push @events, [$time, 'KK', $name{$player_veh{$name{$killer}}},
229                                                  $name{$victim}, $weapon];                                                  $name{$victim}, $weapon];
230                          }                          }
231                            delete $player_flag{$name{$victim}};
232                          # if (defined $player_veh{$name})  TODO                          # if (defined $player_veh{$name})  TODO
233                          # delete $name{$victim};                          # delete $name{$victim};
234    
# Line 243  sub read_data { Line 245  sub read_data {
245    
246                  } elsif ($cmd eq 'I') {         # inventory changed                  } elsif ($cmd eq 'I') {         # inventory changed
247                          my ($id, $item, $count) = split / /, $params;                          my ($id, $item, $count) = split / /, $params;
248                          if ($item =~ m/(Pack|SatchelCharge)$/ and $count == 1) {                          if ($item =~ m/(Pack|SatchelCharge|Deployable)$/ and $count == 1) {
249                                  $item =~ s/Pack$/ pack/;                                  $item =~ s/(Pack|Deployable)$/ pack/;
250                                  push @events, [$time, 'P', $name{$id}, $item];                                  push @events, [$time, 'P', $name{$id}, $item];
251                          }                          }
252    
# Line 253  sub read_data { Line 255  sub read_data {
255    
256                  } elsif ($cmd eq 'V') {         # new vehicle                  } elsif ($cmd eq 'V') {         # new vehicle
257                          my ($id, $team, $name) = split / /, $params, 3;                          my ($id, $team, $name) = split / /, $params, 3;
258                            $name = lc $name;
259                          $vehicle{"$team $name"}++;                          $vehicle{"$team $name"}++;
260                          $name{$id} = "$team $name " . $vehicle{"$team $name"};                          $name{$id} = "$team $name " . $vehicle{"$team $name"};
261                          $team{$name{$id}} = $team;                          $team{$name{$id}} = $team;
# Line 304  sub read_data { Line 307  sub read_data {
307                  } elsif ($cmd eq 'R') {         # flag returned (CTF)                  } elsif ($cmd eq 'R') {         # flag returned (CTF)
308                          my ($team, $id) = split / /, $params;                          my ($team, $id) = split / /, $params;
309                          push @events, [$time, 'R', exists $name{$id} ? $name{$id} : '', $team];                          push @events, [$time, 'R', exists $name{$id} ? $name{$id} : '', $team];
310                          $returns{$name{$id}}++;                          $returns{$name{$id}}++ if exists $name{$id};
311    
312                  } else {                        # player / vehicle position                  } else {                        # player / vehicle position
313                          my $id = $cmd;                          my $id = $cmd;
# Line 371  END Line 374  END
374                  $html .= '</div>';                  $html .= '</div>';
375          }          }
376    
377          save_html(safe_name($player) . '.html', $html);          save_html(safe_name($player) . $html_extension, $html);
378  }  }
379    
380  ####################################################################################################  ####################################################################################################
# Line 389  sub player_life { Line 392  sub player_life {
392          my $html = write_events($player, \@evs, $im);          my $html = write_events($player, \@evs, $im);
393    
394          save_image($im, $imname);          save_image($im, $imname);
395            undef $im;
396    
397          return $html;          return $html;
398  }  }
# Line 419  sub write_events { Line 423  sub write_events {
423                  $ev = 'KS' if ($ev eq 'K' and defined $p1 and $p1 eq $player);                  $ev = 'KS' if ($ev eq 'K' and defined $p1 and $p1 eq $player);
424                  if (defined $me and $me ne $player) {                  if (defined $me and $me ne $player) {
425                          my $sname_me = safe_name($me);                          my $sname_me = safe_name($me);
426                          $melink = "<a href='$sname_me.html#t$time'>$me</a> ";                          $melink = "<a href='$sname_me$html_extension#t$time'>$me</a> ";
427                  }                  }
428                  if (defined $p1) {                  if (defined $p1) {
429                          my $sname_en = safe_name($p1);                          my $sname_en = safe_name($p1);
430                          $enemy = "<a href='$sname_en.html#t$time'>$p1</a>";                          $enemy = "<a href='$sname_en$html_extension#t$time'>$p1</a>";
431                  }                  }
432                  my $desc = eval '"' . $desc{$ev} . '"';                  my $desc = eval '"' . $desc{$ev} . '"';
433                  my $hexcol = sprintf "%.6lx", $colour{$ev};                  my $hexcol = sprintf "%.6lx", $colour{$ev};
# Line 528  END Line 532  END
532                  $html .= '</div>';                  $html .= '</div>';
533          }          }
534    
535          save_html("${team}_$sname.html", $html);          save_html("${team}_$sname$html_extension", $html);
536  }  }
537    
538  ####################################################################################################  ####################################################################################################
# Line 536  END Line 540  END
540  sub vehicle_link {  sub vehicle_link {
541          my $s = shift;          my $s = shift;
542          my ($team, $name, $run) = split / /, $s;          my ($team, $name, $run) = split / /, $s;
543          return "<a href='${team}_$name.html#life$run'>$team_name[$team] $veh_name{$name} $run</a>";          return "<a href='${team}_$name$html_extension#life$run'>$team_name[$team] $veh_name{$name} $run</a>";
544  }  }
545    
546  ####################################################################################################  ####################################################################################################
# Line 562  sub write_flag_report { Line 566  sub write_flag_report {
566                          $at_stand = 1;                          $at_stand = 1;
567                  }                  }
568          }          }
569            push @return, $end_time;
570    
571          for (my $grab = 0; $grab != @grab; $grab++) {          for (my $grab = 0; $grab != @grab; $grab++) {
572                  my $nicetime = nice_time($grab[$grab]);                  my $nicetime = nice_time($grab[$grab]);
# Line 595  END Line 600  END
600                  $html .= '</div>';                  $html .= '</div>';
601    
602                  save_image($im, "${team}_flag_$grab1.png");                  save_image($im, "${team}_flag_$grab1.png");
603                    undef $im;
604          }          }
605    
606          save_html("${team}_flag.html", $html);          save_html("${team}_flag$html_extension", $html);
607  }  }
608    
609  ####################################################################################################  ####################################################################################################
# Line 621  END Line 627  END
627    
628          my $team;          my $team;
629          foreach $team (keys %flag) {          foreach $team (keys %flag) {
630                  $html .= "<p><a href=\"${team}_flag.html\">${team_name[$team]} flag</a></p>\n";                  $html .= "<p><a href=\"${team}_flag$html_extension\">${team_name[$team]} flag</a></p>\n";
631          }          }
632    
633          $html .= <<END;          $html .= <<END;
# Line 640  END Line 646  END
646    
647          foreach $name (sort keys %player) {          foreach $name (sort keys %player) {
648                  my $sname = safe_name($name);                  my $sname = safe_name($name);
649                  $html .= "<tr><td><a href=\"$sname.html\">$name</a></td>" .                  $html .= "<tr><td><a href=\"$sname$html_extension\">$name</a></td>" .
650                                  "<td>$team_name[$team{$name}]</td>" .                                  "<td>$team_name[$team{$name}]</td>" .
651                                  lookup(\%score, $name) .                                  lookup(\%score, $name) .
652                                  lookup(\%deaths, $name) .                                  lookup(\%deaths, $name) .
# Line 655  END Line 661  END
661    
662          if (keys %vehicle) {          if (keys %vehicle) {
663                  $html .= "<table><tr><th>Vehicles</th><th>Total used</th></tr>\n";                  $html .= "<table><tr><th>Vehicles</th><th>Total used</th></tr>\n";
664                  foreach $vehicle (sort keys %vehicle) {                  foreach my $vehicle (sort keys %vehicle) {
665                          my ($team, $name) = split / /, $vehicle, 2;                          my ($team, $name) = split / /, $vehicle, 2;
666                          my $sname = safe_name($name);                          my $sname = safe_name($name);
667                          $html .= <<END;                          $html .= <<END;
668  <tr><td><a href="${team}_$sname.html">$team_name[$team] $veh_name{$name}s</a></td><td>${vehicle{"$team $name"}}</td></tr>  <tr><td><a href="${team}_$sname$html_extension">$team_name[$team] $veh_name{$name}s</a></td><td>${vehicle{"$team $name"}}</td></tr>
669  END  END
670                  }                  }
671                  $html .= "</table>\n";                  $html .= "</table>\n";
672          }          }
673    
674          save_html('index.html', $html);          save_html("index$html_extension", $html);
675          save_image($imall, 'Overview.png');          save_image($imall, 'Overview.png');
676            undef $imall;
677  }  }
678    
679  ####################################################################################################  ####################################################################################################
# Line 786  sub save_html { Line 793  sub save_html {
793    
794  sub safe_name {  sub safe_name {
795          my $s = shift;          my $s = shift;
796          $s =~ tr/[a-zA-Z0-9]/_/cs;          $s =~ tr/a-zA-Z0-9/_/cs;
797          return $s;          return $s;
798  }  }
799    

Legend:
Removed from v.46  
changed lines
  Added in v.47

  ViewVC Help
Powered by ViewVC 1.1.26