X-Git-Url: http://www.chiark.greenend.org.uk/ucgi/~yarrgweb/git?a=blobdiff_plain;f=yarrg%2FCommods.pm;h=74c52f036d4742ae226b7a2d816122ce5b29a44a;hb=217ac850a0e5cca6b2eb24d30ac443d263912e4f;hp=a405f75d640348a900ac320076d51c1b8567a095;hpb=a7ea2fcf98297e6e9e631082f778d11b17b13620;p=ypp-sc-tools.main.git diff --git a/yarrg/Commods.pm b/yarrg/Commods.pm index a405f75..74c52f0 100644 --- a/yarrg/Commods.pm +++ b/yarrg/Commods.pm @@ -98,7 +98,7 @@ our (%pctb_commodmap,@pctb_commodmap); my %colours; # eg $colours{'c'}{'black'}= $sources my (@rawcm, @nocm); # eg $rawcm[0]='fine rum'; $rawcm[1]='fine %c cloth' -my %colour_ordvals; # $colour_ordvals{'green'}= '30'; +my %colour_ordvals; # $colour_ordvals{'c'}{'green'}= '30'; my %commodclasses; # $commodclasses{'dye'}= '3'; # IMPORTANT @@ -121,7 +121,7 @@ sub parse_info1 ($$$) { my $colourkind= $1; @ctx= (sub { m/^(\S[^\t@]+\S)(?:\t+\@(\d+))?$/ or die; - my ($colour,$order)=$1; + my ($colour,$order)=($1,$2); $colours{$colourkind}{$colour} .= $src; $colour_ordvals{$colourkind}{$colour}= $order if defined $order; @@ -191,7 +191,7 @@ sub parse_info1 ($$$) { my $ca; $ca= sub { my ($s,$ss,$ordbase) = @_; -#print "ca($s)\n"; +#print STDERR "ca($s,,".(defined $ordbase ? $ordbase : '?').")\n"; if ($s !~ m/\%(\w+)/) { my ($name, $props) = $s =~ /^(\S[^\t]*\S)(?:\t+(\S.*\S))?$/ @@ -210,7 +210,7 @@ sub parse_info1 ($$$) { } elsif ($prop =~ m/^\*([-a-z]+)$/) { $c->{Class}= $1; die "$1" unless exists $commodclasses{$1}; - $ordclassval= $commodclasses{$1} * 10000; + $ordclassval= $commodclasses{$1} * 1000000; } elsif ($prop =~ m/^\@(\d+)$/) { $ordval= $1; } else { @@ -218,18 +218,18 @@ sub parse_info1 ($$$) { } } if (defined $ordbase && defined $ordval && defined $ordclassval) { - $ordval += $ordbase + $ordval + $ordclassval; - $c->{Ordval}= $ordval; -#print STDERR "ordval $name $ordval\n"; + my $ordvalout= $ordbase + $ordval + $ordclassval; + $c->{Ordval}= $ordvalout; +print STDERR "ordval $ordvalout $name OV=$ordval OB=$ordbase OCV=$ordclassval\n"; } else { -#print STDERR "ordval $name NONE\n"; +print STDERR "ordval NONE $name\n"; } return; } die "unknown $&" unless defined $colours{$1}; my ($lhs,$pctlet,$rhs)= ($`,$1,$'); foreach my $c (keys %{ $colours{$pctlet} }) { - my $ordcolour= $colour_ordvals{$c}; + my $ordcolour= $colour_ordvals{$pctlet}{$c}; &$ca($lhs.$c.$rhs, $ss .'%'. $colours{$pctlet}{$c}, defined($ordbase) && defined($ordcolour)