r5661 - trunk/misc/tools

DONOTREPLY at icculus.org DONOTREPLY at icculus.org
Sat Jan 24 16:00:28 EST 2009


Author: div0
Date: 2009-01-24 16:00:28 -0500 (Sat, 24 Jan 2009)
New Revision: 5661

Added:
   trunk/misc/tools/shader-checksums.pl
Log:
shader checksum script


Added: trunk/misc/tools/shader-checksums.pl
===================================================================
--- trunk/misc/tools/shader-checksums.pl	                        (rev 0)
+++ trunk/misc/tools/shader-checksums.pl	2009-01-24 21:00:28 UTC (rev 5661)
@@ -0,0 +1,46 @@
+#!/usr/bin/perl
+
+use strict;
+use warnings;
+use Digest::MD5;
+
+my $shadertext = "";
+my $level = 0;
+my $curshader;
+while(<STDIN>)
+{
+	s/\r//gs;
+	chomp;
+
+	s/\/\/.*//s;
+	s/^\s+//;
+	s/\s+$//;
+	next if /^$/;
+
+	my @line = map { s/"//g; $_; } split /\s+/, $_;
+
+	$shadertext .= "@line\n";
+
+	if($line[0] eq '{')
+	{
+		++$level;
+	}
+	elsif($line[0] eq '}')
+	{
+		--$level;
+		if($level <= 0)
+		{
+			$level = 0;
+			if(defined $curshader)
+			{
+				printf "%s  %s\n", Digest::MD5::md5_hex($shadertext), $curshader;
+			}
+			$curshader = undef;
+		}
+	}
+	elsif($level == 0)
+	{
+		$curshader = $line[0];
+		$shadertext = "";
+	}
+}


Property changes on: trunk/misc/tools/shader-checksums.pl
___________________________________________________________________
Name: svn:executable
   + *




More information about the nexuiz-commits mailing list