$conv_nxy, $on_archlabel, $on_island, $on_league,
$on_incomprehensible) = @_;
- my ($x,$y, $arch,$island,$solid,$dirn);
+ my ($x,$y, $arch,$island,$sizecol,$solid,$dirn);
my $nn= sub { return $conv_nxy->($x,$y) };
# We don't even bother with tag soup; instead we do line-oriented parsing.
s/\<--.*--\>//g;
s/^\s*//; chomp; s/\s+$//; s/\s+/ /g;
s/\<\/?(?:b|em)\>//g;
- s/\{\{chart\ style\|[^{}]*\}\}//gi;
+ s/\{\{(?:chart\ style|Chart league difficulty)\|[^{}]*\}\}//gi;
next unless m/\{\{/; # only interested in chart template stuff
if (($x,$y,$arch) =
$on_archlabel->($x,$y,$arch);
} elsif (m/^\{\{ chart\ label \|\d+\|\d+\|
\<big\> \'+ \[\[ .* \b ocean \]\]/xi) {
- } elsif (($x,$y,$island) =
+ } elsif (($x,$y,$island,$sizecol) =
m/^\{\{ chart\ island\ icon \|(\d+)\|(\d+)\|
- ([^| ][^|]*[^| ]) \| .*\}\}$/xi) {
+ ([^| ][^|]*[^| ]) \| [^|]* \| (\w+) \| .*\}\}$/xi) {
my $n= $nn->();
printf $debugfh "%2d,%-2d island %s\n", $x,$y,$island;
- $on_island->($n, $island);
+ $on_island->($n, $island, $sizecol);
} elsif (($solid,$x,$y,$dirn) =
m/^\{\{ chart\ league((?:\ solid)?) \|(\d+)\|(\d+)\|
- ([-\/\\o]) \| .*\}\}$/xi) {
+ \.?([-\/\\o])\.? \| .*\}\}$/xi) {
next if $dirn eq 'o';
printf $debugfh "%2d,%-2d league %-6s %s\n", $x,$y,
if ($dirn eq '-') { $bx+=2; }
elsif ($dirn eq '\\') { $bx++; $by++; }
elsif ($dirn eq '/') { $x++; $by++; }
- else { die; }
+ else { die "$dirn ?"; }
my $na= $nn->();
my $nb= $conv_nxy->($bx,$by);