forked from 0ad/0ad
Updates checkrefs.pl to support mod mod and GUI XML change
This was SVN commit r16242.
This commit is contained in:
parent
0ef6c7555e
commit
6a70e3a62f
@ -20,6 +20,10 @@ sub vfs_to_physical
|
||||
{
|
||||
my ($vfspath) = @_;
|
||||
my $fn = "$vfsroot/public/$vfspath";
|
||||
if (not -e $fn)
|
||||
{
|
||||
$fn = "$vfsroot/mod/$vfspath";
|
||||
}
|
||||
return $fn;
|
||||
}
|
||||
|
||||
@ -40,10 +44,11 @@ sub find_files
|
||||
return if /~$/;
|
||||
return unless -f $_;
|
||||
return unless /\.($extn)$/;
|
||||
$n =~ s~\Q$vfsroot\E/public/~~;
|
||||
$n =~ s~\Q$vfsroot\E/(public|mod)/~~;
|
||||
push @files, $n;
|
||||
};
|
||||
find({ wanted => $find_process }, "$vfsroot/public/$vfspath");
|
||||
find({ wanted => $find_process }, "$vfsroot/mod/$vfspath") if -d "$vfsroot/mod/$vfspath";
|
||||
|
||||
return @files;
|
||||
}
|
||||
@ -175,7 +180,7 @@ sub add_maps_xml
|
||||
{
|
||||
print "Loading maps XML...\n";
|
||||
my @mapfiles = find_files('maps/scenarios', 'xml');
|
||||
push @mapfiles, find_files('maps/skirmishes', 'xml');
|
||||
push @mapfiles, find_files('maps/skirmishes', 'xml');
|
||||
for my $f (sort @mapfiles)
|
||||
{
|
||||
print " $f\n";
|
||||
@ -235,7 +240,7 @@ sub add_maps_pmp
|
||||
}
|
||||
|
||||
my @mapfiles = find_files('maps/scenarios', 'pmp');
|
||||
push @mapfiles, find_files('maps/skirmishes', 'pmp');
|
||||
push @mapfiles, find_files('maps/skirmishes', 'pmp');
|
||||
for my $f (sort @mapfiles)
|
||||
{
|
||||
push @files, $f;
|
||||
@ -325,7 +330,8 @@ sub add_gui_xml
|
||||
else
|
||||
{
|
||||
my $xml = XMLin(vfs_to_physical($f), ForceArray => [qw(object script action sprite image)], KeyAttr => [], KeepRoot => 1) or die "Failed to parse '$f': $!";
|
||||
if ((keys %$xml)[0] eq 'objects')
|
||||
my $name = (keys %$xml)[0];
|
||||
if ($name eq 'objects' or $name eq 'object')
|
||||
{
|
||||
push @deps, [ $f, $_->{file} ] for grep { ref $_ and $_->{file} } @{$xml->{objects}{script}};
|
||||
my $add_objects;
|
||||
@ -340,15 +346,15 @@ sub add_gui_xml
|
||||
};
|
||||
$add_objects->($xml->{objects});
|
||||
}
|
||||
elsif ((keys %$xml)[0] eq 'setup')
|
||||
elsif ($name eq 'setup')
|
||||
{
|
||||
# TODO: look at sprites, styles, etc
|
||||
}
|
||||
elsif ((keys %$xml)[0] eq 'styles')
|
||||
elsif ($name eq 'styles')
|
||||
{
|
||||
# TODO: look at sprites, styles, etc
|
||||
}
|
||||
elsif ((keys %$xml)[0] eq 'sprites')
|
||||
elsif ($name eq 'sprites')
|
||||
{
|
||||
for my $sprite (@{$xml->{sprites}{sprite}})
|
||||
{
|
||||
@ -360,7 +366,7 @@ sub add_gui_xml
|
||||
}
|
||||
else
|
||||
{
|
||||
print Dumper $xml;
|
||||
print "Unexpected GUI XML root element '$name':\n" . Dumper $xml;
|
||||
exit;
|
||||
}
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user