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" );
}