mirror of
https://github.com/celisej567/source-engine.git
synced 2026-01-04 18:09:53 +03:00
1
This commit is contained in:
83
devtools/bin/vtfscrewtree.pl
Normal file
83
devtools/bin/vtfscrewtree.pl
Normal file
@@ -0,0 +1,83 @@
|
||||
sub CreateFile
|
||||
{
|
||||
local( $filename ) = shift;
|
||||
local( *FILE );
|
||||
|
||||
open FILE, ">$filename";
|
||||
close FILE;
|
||||
}
|
||||
|
||||
sub ProcessFile
|
||||
{
|
||||
local( $filename ) = shift;
|
||||
local( @fileContents );
|
||||
# print "$filename\n";
|
||||
if( $filename =~ /\.vtf/i )
|
||||
{
|
||||
return if( $filename =~ /_normal/i );
|
||||
return if( $filename =~ /_dudv/i );
|
||||
local( $cmd ) = "..\\..\\..\\bin\\vtfscrew \"$filename\" $r $g $b";
|
||||
print $cmd . "\n";
|
||||
system $cmd;
|
||||
}
|
||||
}
|
||||
|
||||
sub ProcessFileOrDirectory
|
||||
{
|
||||
local( $name ) = shift;
|
||||
|
||||
# If the file has "." at the end, skip it.
|
||||
if( $name eq "." || $name eq ".." || $name =~ /\.$/ )
|
||||
{
|
||||
# print "skipping: $name\n";
|
||||
return;
|
||||
}
|
||||
|
||||
# Figure out if it's a file or a directory.
|
||||
if( -d $name )
|
||||
{
|
||||
local( *SRCDIR );
|
||||
# print "$name is a directory\n";
|
||||
opendir SRCDIR, $name;
|
||||
local( @dir ) = readdir SRCDIR;
|
||||
closedir SRCDIR;
|
||||
|
||||
local( $item );
|
||||
while( $item = shift @dir )
|
||||
{
|
||||
&ProcessFileOrDirectory( $name . "/" . $item );
|
||||
}
|
||||
}
|
||||
elsif( -f $name )
|
||||
{
|
||||
&ProcessFile( $name );
|
||||
}
|
||||
else
|
||||
{
|
||||
print "$name is neither a file or a directory\n";
|
||||
}
|
||||
return;
|
||||
}
|
||||
|
||||
$baseDirectory = shift;
|
||||
$r = shift;
|
||||
$g = shift;
|
||||
$b = shift;
|
||||
|
||||
if( !$baseDirectory )
|
||||
{
|
||||
die "Usage: createvmt.pl baseDir";
|
||||
}
|
||||
|
||||
print "baseDirectory = \"$baseDirectory\"\n";
|
||||
|
||||
opendir SRCDIR, $baseDirectory;
|
||||
@dir = readdir SRCDIR;
|
||||
closedir SRCDIR;
|
||||
|
||||
while( $item = shift @dir )
|
||||
{
|
||||
&ProcessFileOrDirectory( "$baseDirectory/$item" );
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user