";
+ print "",
+ "",
+ "Crossfire Map ",
+ "";
print "/ ";
for (0 .. $#path - 1) {
print "$path[$_] / ";
}
+ my @dir = qw(none up right down left);
my @tile = map {
$meta->{info}{"tile_path_$_"}
- ? ""
+ ? ""
: ""
} 1..4;
#"}"# vim misparses without this comment
print "$path[-1]",
- "",
+ "",
"[more about cfmaps.schmorp.de] ",
" | ",
" | $tile[0] | | ",
"$tile[3] | ",
- " | ",
- "$tile[1] | ",
+ " | ",
+ "$tile[1] | ",
" | $tile[2] | | ",
" ";
my $W1 = $W + 600;
- print "",
+ print " ",
escape_html $meta->{info}{msg},
" ";
- print "";
+ print "";
- my %ignore = map +($_ => 1), qw(_name x y);
+ my %ignore = map +($_ => 1), qw(name _name x y);
for my $y (0.. $meta->{height} - 1) {
print "";
@@ -122,18 +145,22 @@
print "";
for my $a (@{$_[0]}) {
my $o = $arch->{$a->{_name}};
- print "- \"$o->{name}\" ($a->{_name})\n";
+ my $type = $a->{type} || $o->{type};
+ my $aname = escape_html $a->{_name};
+ my $name = escape_html $a->{name} || $o->{name};
+
+ print "
- $aname \"$name\"\n";
for (sort keys %$a) {
next if $ignore{$_};
my $v = escape_html $a->{$_};
- if (($o->{type} == 66 || $o->{type} == 41) && $_ eq "slaying") { # door, teleporter
+ if ($_ eq "slaying" && ($type == 41 || $type == 57 || $type == 66)) { # door, teleporter, player_changer
$a->{msg} =~ /^final_map\s*(\S+)\s*$/m, $v = $1
if $v eq "/!"; # random map
- print "slaying => $v\n";
+ print "slaying => $v\n";
} elsif ($_ eq "other_arch") {
- print "$_ => $v\n";
+ print "$_ => $v\n";
} elsif ($_ eq "inventory") {
print "inventory =>\n";
print_archs ($a->{$_});
@@ -143,6 +170,7 @@
print "$_ => $v\n";
}
}
+ print "
";
}
print " ";
}
@@ -155,11 +183,13 @@
print " ";
}
- print "
created by cfmap2html version $VERSION ",
- "";
+ my $W2 = $W + 600;
+
+ print "
created by cfmap2html version $VERSION ",
+ " |