Mercurial > hg > batmud > misc
changeset 304:5f5f45216218 misc
Cleanup data structure usage.
author | Matti Hamalainen <ccr@tnsp.org> |
---|---|
date | Tue, 29 Dec 2015 04:51:22 +0200 |
parents | 0f751e08c932 |
children | 8c9b9156a235 |
files | materials/parsematerial.pl |
diffstat | 1 files changed, 37 insertions(+), 37 deletions(-) [+] |
line wrap: on
line diff
--- a/materials/parsematerial.pl Tue Dec 29 02:16:46 2015 +0200 +++ b/materials/parsematerial.pl Tue Dec 29 04:51:22 2015 +0200 @@ -373,7 +373,7 @@ ### ### Parse input materials ### -my %data = (); +my $data = {}; my $name = ""; my $nline = 0; while (defined(my $line = <STDIN>)) @@ -386,76 +386,76 @@ } elsif ($line =~ /^Weight \(g\/l\)\: *\(([a-z. ]+)\) *Sturdyness\: *\(([a-z. ]+)\)/) { - $data{$name}{2} = mtranslate(2, $1); - $data{$name}{3} = mtranslate(3, $2); + $$data{$name}{2} = mtranslate(2, $1); + $$data{$name}{3} = mtranslate(3, $2); } elsif ($line =~ /^Magic\: *\(([a-z. ]+)\) *Flammability\: *\(([a-z. ]+)\)/) { - $data{$name}{4} = mtranslate(4, $1); - $data{$name}{5} = mtranslate(5, $2); + $$data{$name}{4} = mtranslate(4, $1); + $$data{$name}{5} = mtranslate(5, $2); } elsif ($line =~ /^Warmth\: *\(([a-z. ]+ outfit)\) *Toxicity\: *\(([a-z. ]+)\)/) { my ($tmp1, $tmp2) = ($1, $2); $tmp1 =~ s/ +outfit$//; - $data{$name}{6} = mtranslate(6, $tmp1); - $data{$name}{7} = mtranslate(7, $tmp2); + $$data{$name}{6} = mtranslate(6, $tmp1); + $$data{$name}{7} = mtranslate(7, $tmp2); } elsif ($line =~ /^Warmth\: *\(([a-z. ]+)\) *Toxicity\: *\(([a-z. ]+)\)/) { my ($tmp1, $tmp2) = ($1, $2); - $data{$name}{6} = mtranslate(6, $1); - $data{$name}{7} = mtranslate(7, $2); + $$data{$name}{6} = mtranslate(6, $1); + $$data{$name}{7} = mtranslate(7, $2); } elsif ($line =~ /^Resistivity\: *\(([a-z. ]+ insulator)\) *Malleability\: *\(([a-z. ]+)\)?/) { my ($tmp1, $tmp2) = ($1, $2); $tmp1 =~ s/ +insulator$//; - $data{$name}{8} = mtranslate(8, $tmp1); - $data{$name}{9} = mtranslate(9, $tmp2); + $$data{$name}{8} = mtranslate(8, $tmp1); + $$data{$name}{9} = mtranslate(9, $tmp2); } elsif ($line =~ /^Resistivity\: *\(([a-z. ]+)\) *Malleability\: *\(([a-z. ]+)\)?/) { - $data{$name}{8} = mtranslate(8, $1); - $data{$name}{9} = mtranslate(9, $2); + $$data{$name}{8} = mtranslate(8, $1); + $$data{$name}{9} = mtranslate(9, $2); } elsif ($line =~ /^Mentality\: *\(([a-z. ]+)\) *Reactivity\: *\(([a-z. ]+)\)?/) { - $data{$name}{10} = mtranslate(10, $1); - $data{$name}{11} = mtranslate(11, $2); + $$data{$name}{10} = mtranslate(10, $1); + $$data{$name}{11} = mtranslate(11, $2); } elsif ($line =~ /^Weapon rarity\: *\(([a-z. ]+)\) *Armour rarity\: *\(([a-z. ]+)\)/) { - $data{$name}{12} = mtranslate(12, $1); - $data{$name}{13} = mtranslate(13, $2); + $$data{$name}{12} = mtranslate(12, $1); + $$data{$name}{13} = mtranslate(13, $2); } elsif ($line =~ /^Value \(gp\/kg\)\: *\(([a-z -]+)\) *Rarity\: *\(([a-z. ]+)\)/) { - $data{$name}{14} = mtranslate(14, $1); - $data{$name}{15} = mtranslate(15, $2); + $$data{$name}{14} = mtranslate(14, $1); + $$data{$name}{15} = mtranslate(15, $2); } elsif ($line =~ /^Article\: *([a-z. ]+) *Type: *([A-Za-z]+)/) { my ($tmp1, $tmp2) = ($1, $2); $tmp1 =~ s/ *$//; - $data{$name}{"article"} = $tmp1; - $data{$name}{16} = mtranslate(16, $tmp2); + $$data{$name}{"article"} = $tmp1; + $$data{$name}{16} = mtranslate(16, $tmp2); } elsif ($line =~ /^Found nature\: *(Yes|No) *Lode name\: *([A-Za-z]+)/) { - $data{$name}{17} = mtranslate(17, $1); - $data{$name}{18} = mtranslate(18, $2); + $$data{$name}{17} = mtranslate(17, $1); + $$data{$name}{18} = mtranslate(18, $2); } elsif ($line =~ /^Raw names\: *([a-z, ]+[a-z])/) { my $tmp = $1; - @{$data{$name}{19}} = map { mtranslate(19, $_) } split(/, */, $tmp); + @{$$data{$name}{19}} = map { mtranslate(19, $_) } split(/, */, $tmp); } elsif ($line =~ /^Refined names\: *([a-z, ]+[a-z])/) { my $tmp = $1; - @{$data{$name}{20}} = map { mtranslate(20, $_) } split(/, */, $tmp); + @{$$data{$name}{20}} = map { mtranslate(20, $_) } split(/, */, $tmp); } elsif ($line =~ /^-+$|^\s*$/) { @@ -468,13 +468,13 @@ } # Sort the entries by name -my @entries = sort { $a cmp $b } keys %data; +my @entries = sort { $a cmp $b } keys %$data; # Sort materials by type my %matByType = (); foreach my $name (@entries) { - push(@{$matByType{$data{$name}{16}}}, lc($name)); + push(@{$matByType{$$data{$name}{16}}}, lc($name)); } # List of known types @@ -494,8 +494,8 @@ { my ($name, $i) = @_; return $name if ($i == 1); - return join(", ", pta($data{$name}, $i)) if (ref($data{$name}{$i}) eq "ARRAY"); - return pt($data{$name}, $i); + return join(", ", pta($$data{$name}, $i)) if (ref($$data{$name}{$i}) eq "ARRAY"); + return pt($$data{$name}, $i); } @@ -571,7 +571,7 @@ my $filename = $name.".mat"; $filename =~ s/[^a-z0-9]/_/g; open(OUTFILE, ">", $filename) or die("Error opening file '".$filename."' ".$!."\n"); - print_material_long(\*OUTFILE, $data{$name}, $name); + print_material_long(\*OUTFILE, $$data{$name}, $name); close(OUTFILE); } } @@ -584,7 +584,7 @@ { print "\n". "-------------------------------------------------------------------------------\n"; - print_material_long(\*STDOUT, $data{$name}, $name); + print_material_long(\*STDOUT, $$data{$name}, $name); } } ### @@ -593,7 +593,7 @@ elsif ($opt_mode eq "-tf") { print "/set gmat_names=".join(' ', @entries)."\n"; - print "/set gmat_ntypes=".join(' ', map(lc(pt($data{$_},16)), @entries))."\n"; + print "/set gmat_ntypes=".join(' ', map(lc(pt($$data{$_},16)), @entries))."\n"; print "/set gmat_types=".join(' ', map(lc(ptranslate(16,$_)), values %matTypes))."\n"; foreach my $type (values %matTypes) @@ -642,7 +642,7 @@ "\@EXPORT = qw(matTable transTable revTransTable matByType matTypes);\n". "\n"; - my $dumper = Data::Dumper->new([\%data], ["matTable"]); + my $dumper = Data::Dumper->new([$data], ["matTable"]); print "our ".$dumper->Dump()."\n\n"; $dumper = Data::Dumper->new([\%transTable], ["transTable"]); @@ -683,19 +683,19 @@ } print ");\n\n". "\$matDataTable = array(\n"; - foreach my $name (sort { $a cmp $b } keys %data) + foreach my $name (sort { $a cmp $b } keys %$data) { print " \"$name\" => array("; for (my $qn = 1; $qn < scalar(@fieldInfo); $qn++) { my $i = $fieldInfo[$qn]{"i"}; - if (ref($data{$name}{$i}) eq "ARRAY") + if (ref($$data{$name}{$i}) eq "ARRAY") { - print "array(".join(",", @{$data{$name}{$i}})."),"; + print "array(".join(",", @{$$data{$name}{$i}})."),"; } else { - print $data{$name}{$i}.", "; + print $$data{$name}{$i}.", "; } } print "),\n";