Team Fortress 2 Source Code as on 22/4/2020
You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
|
|
# # Arguments parsing #
local $script = $0;
while ( 1 ) { local $arg = shift; if ( $arg =~ /^-patch$/i ) { goto RUN_PATCH; } if ( $arg =~ /^-patchall$/i ) { goto RUN_PATCH_ALL; }
# default mode - forward to -patch: exit system( "dir /s /b *.vtf | perl $script -patchall" ); }
RUN_PATCH_ALL: # # ----------- Patch a list of VTF files -------- #
while ( <> ) { local $line = $_; $line =~ s/^\s*(.*)\s*$/$1/; PatchVtfFile( $line ); } exit 0;
RUN_PATCH: # # ----------- Patch a VTF file -------- #
local $filename = shift; exit PatchVtfFile( $filename );
sub PatchVtfFile {
local *fileptr; local $filename = shift; local $vtfFlags;
print "$filename ... "; `p4 edit "$filename" >nul 2>&1`;
if ( !open( fileptr, "+<$filename" ) ) { print "ERROR!\n"; return 1; } binmode( fileptr );
seek( fileptr, 5 * 4, 0 ); read( fileptr, $vtfFlags, 4 ); $vtfFlags = unpack( "I", $vtfFlags );
# dropping the NOCOMPRESS flag that will be used for SRGB # dropping all the removed flags too $vtfFlags = $vtfFlags & 0x2E87FFBF; # mask and
seek( fileptr, 5 * 4, 0 ); print fileptr pack( "I", $vtfFlags );
close( fileptr );
print "ok.\n"; return 0;
}
|