# HG changeset patch # User Matti Hamalainen # Date 1425776146 -7200 # Node ID 8ba1da42b219c48edc8dda8ce0873e1485e7555e # Parent 0adaafd9d6e8c4256253c0382f4e3e44e20854cf Cosmetics. diff -r 0adaafd9d6e8 -r 8ba1da42b219 materials/parsematerial.pl --- a/materials/parsematerial.pl Sun Mar 08 02:40:16 2015 +0200 +++ b/materials/parsematerial.pl Sun Mar 08 02:55:46 2015 +0200 @@ -313,7 +313,8 @@ my $opt_mode = ""; my $opt_strip = 1; -while (defined(my $arg = shift)) { +while (defined(my $arg = shift)) +{ if ($arg eq "-csv") { $opt_mode = $arg; } elsif ($arg eq "-tf") { $opt_mode = $arg; } elsif ($arg eq "-names") { $opt_mode = $arg; } @@ -321,7 +322,8 @@ elsif ($arg eq "-php") { $opt_mode = $arg; } elsif ($arg eq "-table") { $opt_mode = $arg; } elsif ($arg eq "-dump") { $opt_mode = $arg; $opt_strip = 0; } - else { + else + { die("Invalid option '$arg'\n"); } } @@ -332,68 +334,82 @@ my %data = (); my $name = ""; -while () { +while () +{ chomp; if (/MATERIAL STATS \(([a-z ]+)\)\:/) { $name = $1; $data{$name}{"name"} = $1; } - elsif (/^Weight \(g\/l\)\: *\(([a-z. ]+)\) *Sturdyness\: *\(([a-z. ]+)\)/) { + elsif (/^Weight \(g\/l\)\: *\(([a-z. ]+)\) *Sturdyness\: *\(([a-z. ]+)\)/) + { $data{$name}{"weight"} = $1; $data{$name}{"sturdyness"} = $2; } - elsif (/^Magic\: *\(([a-z. ]+)\) *Flammability\: *\(([a-z. ]+)\)/) { + elsif (/^Magic\: *\(([a-z. ]+)\) *Flammability\: *\(([a-z. ]+)\)/) + { $data{$name}{"magic"} = $1; $data{$name}{"flammability"} = $2; } - elsif (/^Warmth\: *\(([a-z. ]+ outfit)\) *Toxicity\: *\(([a-z. ]+)\)/) { + elsif (/^Warmth\: *\(([a-z. ]+ outfit)\) *Toxicity\: *\(([a-z. ]+)\)/) + { $data{$name}{"warmth"} = $1; $data{$name}{"toxicity"} = $2; $data{$name}{"warmth"} =~ s/ +outfit$// if ($opt_strip); } - elsif (/^Warmth\: *\(([a-z. ]+)\) *Toxicity\: *\(([a-z. ]+)\)/) { + elsif (/^Warmth\: *\(([a-z. ]+)\) *Toxicity\: *\(([a-z. ]+)\)/) + { $data{$name}{"warmth"} = $1; $data{$name}{"toxicity"} = $2; } - elsif (/^Resistivity\: *\(([a-z. ]+ insulator)\) *Malleability\: *\(([a-z. ]+)\)?/) { + elsif (/^Resistivity\: *\(([a-z. ]+ insulator)\) *Malleability\: *\(([a-z. ]+)\)?/) + { $data{$name}{"resistivity"} = $1; $data{$name}{"malleability"} = $2; $data{$name}{"resistivity"} =~ s/ +insulator$// if ($opt_strip); } - elsif (/^Resistivity\: *\(([a-z. ]+)\) *Malleability\: *\(([a-z. ]+)\)?/) { + elsif (/^Resistivity\: *\(([a-z. ]+)\) *Malleability\: *\(([a-z. ]+)\)?/) + { $data{$name}{"resistivity"} = $1; $data{$name}{"malleability"} = $2; } - elsif (/^Mentality\: *\(([a-z. ]+)\) *Reactivity\: *\(([a-z. ]+)\)?/) { + elsif (/^Mentality\: *\(([a-z. ]+)\) *Reactivity\: *\(([a-z. ]+)\)?/) + { $data{$name}{"mentality"} = $1; $data{$name}{"reactivity"} = $2; } - elsif (/^Weapon rarity\: *\(([a-z. ]+)\) *Armour rarity\: *\(([a-z. ]+)\)/) { + elsif (/^Weapon rarity\: *\(([a-z. ]+)\) *Armour rarity\: *\(([a-z. ]+)\)/) + { $data{$name}{"weapon_rarity"} = $1; $data{$name}{"armour_rarity"} = $2; } - elsif (/^Value \(gp\/kg\)\: *\(([a-z -]+)\) *Rarity\: *\(([a-z. ]+)\)/) { + elsif (/^Value \(gp\/kg\)\: *\(([a-z -]+)\) *Rarity\: *\(([a-z. ]+)\)/) + { $data{$name}{"value"} = $1; $data{$name}{"rarity"} = $2; } - elsif (/^Article\: *([a-z. ]+) *Type: *([A-Za-z]+)/) { + elsif (/^Article\: *([a-z. ]+) *Type: *([A-Za-z]+)/) + { $data{$name}{"article"} = $1; $data{$name}{"type"} = $2; $data{$name}{"article"} =~ s/ *$//; } - elsif (/^Found nature\: *(Yes|No) *Lode name\: *([A-Za-z]+)/) { + elsif (/^Found nature\: *(Yes|No) *Lode name\: *([A-Za-z]+)/) + { $data{$name}{"found_nature"} = $1; $data{$name}{"lode_name"} = $2; } - elsif (/^Raw names\: *([a-z, ]+[a-z])/) { + elsif (/^Raw names\: *([a-z, ]+[a-z])/) + { my $tmp = $1; $data{$name}{"raw_names"} = $tmp; @{$data{$name}{"raw_names_arr"}} = split(/, */, $tmp); } - elsif (/^Refined names\: *([a-z, ]+[a-z])/) { + elsif (/^Refined names\: *([a-z, ]+[a-z])/) + { my $tmp = $1; $data{$name}{"refined_names"} = $tmp; @{$data{$name}{"refined_names_arr"}} = split(/, */, $tmp); @@ -418,21 +434,28 @@ ### # Print names only -if ($opt_mode eq "-names") { - foreach my $name (@entries) { +if ($opt_mode eq "-names") +{ + foreach my $name (@entries) + { print "$name\n"; } } # Print CSV list elsif ($opt_mode eq "-csv") { - foreach my $name (@entries) { + foreach my $name (@entries) + { my $str = ""; - foreach my $info (@fieldInfo) { + foreach my $info (@fieldInfo) + { my $field = $$info{"f"}; - if (defined($data{$name}{$field})) { + if (defined($data{$name}{$field})) + { $str .= $data{$name}{$field}.";"; - } else { + } + else + { print STDERR "Field $field not defined for $name.\n"; } } @@ -441,8 +464,10 @@ } # Dump normal data to files -elsif ($opt_mode eq "-dump") { - foreach my $name (@entries) { +elsif ($opt_mode eq "-dump") +{ + foreach my $name (@entries) + { my $mat = $data{$name}; my $filename = $name.".mat"; $filename =~ s/ /_/g; @@ -484,20 +509,22 @@ } # Print TinyFugue formatted data -elsif ($opt_mode eq "-tf") { +elsif ($opt_mode eq "-tf") +{ print "/set gmat_names=".join(' ', @entries)."\n"; print "/set gmat_ntypes=".join(' ', map(lc($data{$_}{"type"}), @entries))."\n"; print "/set gmat_types=".join(' ', map(lc($_), @matTypes))."\n"; - foreach my $type (@matTypes) { + foreach my $type (@matTypes) + { print "/set gmat_type_".lc($type)."=".join('|', @{$matByType{$type}})."\n"; } } # Print normal table -elsif ($opt_mode eq "-table") { - +elsif ($opt_mode eq "-table") +{ my $str = ""; foreach my $info (@fieldInfo) { $str .= sprintf("%-".$$info{"w"}."s | ", $$info{"s"}); @@ -507,13 +534,18 @@ $str =~ s/\|/+/g; print "$str\n"; - foreach my $name (@entries) { + foreach my $name (@entries) + { my $str = ""; - foreach my $info (@fieldInfo) { + foreach my $info (@fieldInfo) + { my $field = $$info{"f"}; - if (defined($data{$name}{$field})) { + if (defined($data{$name}{$field})) + { $str .= sprintf("%-".$$info{"w"}."s | ", $data{$name}{$field}); - } else { + } + else + { print STDERR "# Field $field does not exist for $name\n"; } } @@ -522,7 +554,8 @@ } # Dump a Perl module with material data -elsif ($opt_mode eq "-perl") { +elsif ($opt_mode eq "-perl") +{ $Data::Dumper::Indent = 0; $Data::Dumper::Useqq = 1; $Data::Dumper::Purity = 1; @@ -547,7 +580,8 @@ } # Dump PHP data -elsif ($opt_mode eq "-php") { +elsif ($opt_mode eq "-php") +{ print " $b } keys %transTable) { + foreach my $i (sort { $a <=> $b } keys %transTable) + { print " array("; - foreach my $j (keys %{$transTable{$i}}) { - if (defined($transTable{$i}{$j})) { + foreach my $j (keys %{$transTable{$i}}) + { + if (defined($transTable{$i}{$j})) + { print $transTable{$i}{$j}; $j =~ s/very /v./; $j =~ s/incredibly /incr./; print " => \"$j\"," - } else { + } + else + { print STDERR "$0: Unknown transTable type $i : $j\n"; } } @@ -572,30 +611,39 @@ print ");\n\n". "\$matTable = array(\n"; - foreach my $name (sort { $a cmp $b } keys %data) { + foreach my $name (sort { $a cmp $b } keys %data) + { print " \"$name\" => array("; - foreach my $info (@fieldInfo) { + foreach my $info (@fieldInfo) + { my $s = $$info{"i"}; my $f = $$info{"f"}; my $idx = $data{$name}{$f}; my $arr = $f."_arr"; - if (defined($data{$name}{$arr})) { + if (defined($data{$name}{$arr})) + { print "array("; - foreach my $q (sort { $a cmp $b } @{$data{$name}{$arr}}) { - if (defined($transTable{$s}{$q})) { + foreach my $q (sort { $a cmp $b } @{$data{$name}{$arr}}) + { + if (defined($transTable{$s}{$q})) + { print $transTable{$s}{$q}.","; - } else { + } + else + { print STDERR "$0: Unknown transTable type for '$name' : $s :: $q ($idx)\n"; } } print "),"; - } elsif (defined($transTable{$s}{$idx})) { + } + elsif (defined($transTable{$s}{$idx})) + { print $transTable{$s}{$idx}.", "; - } else { - if ($s != 1) { - print STDERR "$0: Unknown transTable type for '$name' : $s == $f ($idx)\n"; - print "-1,"; - } + } + elsif ($s != 1) + { + print STDERR "$0: Unknown transTable type for '$name' : $s == $f ($idx)\n"; + print "-1,"; } } print "),\n";