diff options
| author | Joe Ludwig <[email protected]> | 2013-07-17 18:26:59 -0700 |
|---|---|---|
| committer | Joe Ludwig <[email protected]> | 2013-07-17 18:26:59 -0700 |
| commit | e16ea21dc8a710237ade8413207f58d403c616a3 (patch) | |
| tree | 85dcfbda9881e4e022dedafefbc2727e2fd2aa59 /mp/src/devtools/bin/copyshaderincfiles.pl | |
| parent | Merge pull request #36 from AnAkIn1/fogplayerparams_fix (diff) | |
| download | source-sdk-2013-e16ea21dc8a710237ade8413207f58d403c616a3.tar.xz source-sdk-2013-e16ea21dc8a710237ade8413207f58d403c616a3.zip | |
* Added support for building shaders in your mod
* Added nav mesh support
* fixed many warnings and misc bugs
* Fixed the create*projects scripts in mp
* Added a bunch of stuff to .gitignore
Diffstat (limited to 'mp/src/devtools/bin/copyshaderincfiles.pl')
| -rw-r--r-- | mp/src/devtools/bin/copyshaderincfiles.pl | 75 |
1 files changed, 75 insertions, 0 deletions
diff --git a/mp/src/devtools/bin/copyshaderincfiles.pl b/mp/src/devtools/bin/copyshaderincfiles.pl new file mode 100644 index 00000000..21702d8f --- /dev/null +++ b/mp/src/devtools/bin/copyshaderincfiles.pl @@ -0,0 +1,75 @@ +BEGIN {use File::Basename; push @INC, dirname($0); }
+require "valve_perl_helpers.pl";
+use Cwd;
+use String::CRC32;
+
+my $txtfilename = shift;
+my $arg = shift;
+
+my $is360 = 0;
+my $platformextension = "";
+if( $arg =~ m/-x360/i )
+{
+ $is360 = 1;
+ $platformextension = ".360";
+}
+
+open TXTFILE, "<$txtfilename";
+
+my $src;
+my $dst;
+while( $src = <TXTFILE> )
+{
+ # get rid of comments
+ $src =~ s,//.*,,g;
+
+ # skip blank lines
+ if( $src =~ m/^\s*$/ )
+ {
+ next;
+ }
+
+ # Get rid of newlines.
+ $src =~ s/\n//g;
+
+ # Save off the shader source filename.
+ my $dst = $src;
+
+ $dst =~ s/_tmp//gi;
+
+ # Does the dst exist?
+ my $dstexists = -e $dst;
+ my $srcexists = -e $src;
+ # What are the time stamps for the src and dst?
+ my $srcmodtime = ( stat $src )[9];
+ my $dstmodtime = ( stat $dst )[9];
+
+ # Open for edit or add if different than what is in perforce already.
+ if( !$dstexists || ( $srcmodtime != $dstmodtime ) )
+ {
+ # Make the target writable if it exists
+ if( $dstexists )
+ {
+ MakeFileWritable( $dst );
+ }
+
+ my $dir = $dst;
+ $dir =~ s,([^/\\]*$),,; # rip the filename off the end
+ my $filename = $1;
+
+ # create the target directory if it doesn't exist
+ if( !$dstexists )
+ {
+ &MakeDirHier( $dir, 0777 );
+ }
+
+ # copy the file to its targets. . . we want to see STDERR here if there is an error.
+ my $cmd = "copy $src $dst > nul";
+# print STDERR "$cmd\n";
+ system $cmd;
+
+ MakeFileReadOnly( $dst );
+ }
+}
+
+close TXTFILE;
|