Mercurial > hg > batmud > misc
changeset 137:723216311cd1 misc
Updates.
author | Matti Hamalainen <ccr@tnsp.org> |
---|---|
date | Mon, 20 Dec 2010 17:34:14 +0000 |
parents | 9a0e08516041 |
children | e001efd8d490 |
files | materials/csv2transtab.pl materials/parsealloys.pl materials/parsematerial.pl |
diffstat | 3 files changed, 48 insertions(+), 31 deletions(-) [+] |
line wrap: on
line diff
--- a/materials/csv2transtab.pl Mon Dec 20 17:07:07 2010 +0000 +++ b/materials/csv2transtab.pl Mon Dec 20 17:34:14 2010 +0000 @@ -28,7 +28,7 @@ } } -print "my %transTable = (\n"; +print "my %matTransTable = (\n"; foreach my $a (sort { $a <=> $b } keys %data) { print " $a => {\n";
--- a/materials/parsealloys.pl Mon Dec 20 17:07:07 2010 +0000 +++ b/materials/parsealloys.pl Mon Dec 20 17:34:14 2010 +0000 @@ -142,25 +142,31 @@ my $total = 0; my %tdata = (); - foreach my $min1 (sort { $a cmp $b } keys %final) { - foreach my $min2 (sort { $a cmp $b } keys %{$final{$min1}}) { - - printf "%-35s = ", $min1." + ".$min2; - my $n = 0; - foreach my $res (sort { $final{$min1}{$min2}{$a} <=> $final{$min1}{$min2}{$b} } keys %{$final{$min1}{$min2}}) { - print $res."[".$final{$min1}{$min2}{$res}."] "; - $n++; + foreach my $type (sort { $a cmp $b } keys %{$Materials::matByType}) { + my $subtotal = 0; + print "\n$type alloys\n". + "=========================================================\n"; + + foreach my $min1 (@{$$Materials::matByType{$type}}) { + if (defined($final{$min1})) { + foreach my $min2 (sort { $a cmp $b } keys %{$final{$min1}}) { + printf "%-35s = ", $min1." + ".$min2; + my $n = 0; + foreach my $res (sort { $final{$min1}{$min2}{$a} <=> $final{$min1}{$min2}{$b} } keys %{$final{$min1}{$min2}}) { + print $res."[".$final{$min1}{$min2}{$res}."] "; + $n++; + } + if ($n > 1) { print " (unstable)"; } + print "\n"; + $total++; + $subtotal++; } - if ($n > 1) { print " (unstable)"; } - print "\n"; - $total++; -# $subtotal++; + } } + print "\n$subtotal $type alloys.\n\n"; } -# print "$type alloys\n===================\n"; -# print "\n$subtotal $type alloys.\n"; print "\n$total alloys total.\n"; }
--- a/materials/parsematerial.pl Mon Dec 20 17:07:07 2010 +0000 +++ b/materials/parsematerial.pl Mon Dec 20 17:34:14 2010 +0000 @@ -16,7 +16,7 @@ # # Data translation table generated with csv2transtab.pl # -my %transTable = ( +my %matTransTable = ( 2 => { "very light" => 0, "light" => 1, @@ -526,12 +526,23 @@ $Data::Dumper::Useqq = 1; $Data::Dumper::Purity = 1; - print "package Materials;\nrequire Exporter;\n\@ISA = qw(Exporter);\n\n\@EXPORT = qw(matTable transTable);\n\n"; + print "package Materials;\nrequire Exporter;\n". + "\@ISA = qw(Exporter);\n\n". + "\@EXPORT = qw(matTable matTransTable matByType matTypes);\n\n"; + my $dumper = Data::Dumper->new([\%data], ["matTable"]); print "our ".$dumper->Dump()."\n\n"; - $dumper = Data::Dumper->new([\%transTable], ["transTable"]); - print "our ".$dumper->Dump()."\n\n1;\n"; + $dumper = Data::Dumper->new([\%matTransTable], ["matTransTable"]); + print "our ".$dumper->Dump()."\n\n"; + + $dumper = Data::Dumper->new([\%matByType], ["matByType"]); + print "our ".$dumper->Dump()."\n\n"; + + $dumper = Data::Dumper->new([\@matTypes], ["matTypes"]); + print "our ".$dumper->Dump()."\n\n"; + + print "1;\n"; } # Dump PHP data @@ -542,17 +553,17 @@ print "\"".$$info{"l"}."\","; } print ");\n\n". - "\$transTable = array(\n"; - foreach my $i (sort { $a <=> $b } keys %transTable) { + "\$matTransTable = array(\n"; + foreach my $i (sort { $a <=> $b } keys %matTransTable) { print " array("; - foreach my $j (keys %{$transTable{$i}}) { - if (defined($transTable{$i}{$j})) { - print $transTable{$i}{$j}; + foreach my $j (keys %{$matTransTable{$i}}) { + if (defined($matTransTable{$i}{$j})) { + print $matTransTable{$i}{$j}; $j =~ s/very /v./; $j =~ s/incredibly /incr./; print " => \"$j\"," } else { - print STDERR "$0: Unknown transTable type $i : $j\n"; + print STDERR "$0: Unknown matTransTable type $i : $j\n"; } } print "),\n"; @@ -570,18 +581,18 @@ if (defined($data{$name}{$arr})) { print "array("; foreach my $q (sort { $a cmp $b } @{$data{$name}{$arr}}) { - if (defined($transTable{$s}{$q})) { - print $transTable{$s}{$q}.","; + if (defined($matTransTable{$s}{$q})) { + print $matTransTable{$s}{$q}.","; } else { - print STDERR "$0: Unknown transTable type for '$name' : $s :: $q ($idx)\n"; + print STDERR "$0: Unknown matTransTable type for '$name' : $s :: $q ($idx)\n"; } } print "),"; - } elsif (defined($transTable{$s}{$idx})) { - print $transTable{$s}{$idx}.", "; + } elsif (defined($matTransTable{$s}{$idx})) { + print $matTransTable{$s}{$idx}.", "; } else { if ($s != 1) { - print STDERR "$0: Unknown transTable type for '$name' : $s == $f ($idx)\n"; + print STDERR "$0: Unknown matTransTable type for '$name' : $s == $f ($idx)\n"; print "-1,"; } }