ViewVC Help
View File | Revision Log | Show Annotations | Download File
/cvs/cfmaps/cfmap2html
(Generate patch)

Comparing cfmaps/cfmap2html (file contents):
Revision 1.25 by root, Wed Feb 14 02:58:58 2007 UTC vs.
Revision 1.28 by root, Thu Jun 21 01:11:44 2007 UTC

15# 15#
16# You should have received a copy of the GNU General Public License 16# You should have received a copy of the GNU General Public License
17# along with cfmaps; if not, write to the Free Software 17# along with cfmaps; if not, write to the Free Software
18# Foundation, Inc. 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA 18# Foundation, Inc. 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
19 19
20our $VERSION = '1.212'; 20our $VERSION = '2.001';
21 21
22use Storable; 22use Crossfire 1.0;
23
24my $LIBDIR = $ENV{CROSSFIRE_LIBDIR}
25 or die "\$CROSSFIRE_LIBDIR must be set\n";
26 23
27my $T = 32; 24my $T = 32;
28 25
29my $arch; 26my $arch;
30 27
32 local $_ = shift; 29 local $_ = shift;
33 s/([<>&])/sprintf "&#%d;", ord $1/ge; 30 s/([<>&])/sprintf "&#%d;", ord $1/ge;
34 $_ 31 $_
35} 32}
36 33
34my @cfmap2png;
35
37for my $path (@ARGV) { 36for my $path (@ARGV) {
38 (my $base = $path) =~ s/\.map//; 37 (my $base = $path) =~ s/\.map//;
39# print STDERR "$path\n"; 38# print STDERR "$path\n";
40 39
41 warn "$base.png\n";
42 if (!-e "$base.png" 40 if (!-e "$base.png"
43 || !-e "$base.pst" 41 || !-e "$base.pst"
44 || -M "$base.pst" > -M $path 42 || -M "$base.pst" > -M $path
45 || -M "$base.png" > -M $path) { 43 || -M "$base.png" > -M $path) {
46 # regenerate png and metainfo 44 # regenerate png and metainfo
45 push @cfmap2png, $path;
46 };
47}
47 48
48 system "cfmap2png", $path; 49system "cfmap2png", @cfmap2png
49 }; 50 if @cfmap2png;
50 51
52for my $path (@ARGV) {
53 (my $base = $path) =~ s/\.map//;
51 if (!-e "$base.xhtml" 54 if (!-e "$base.xhtml"
52 || -M "$base.xhtml" > -M "$base.pst") { 55 || -M "$base.xhtml" > -M "$base.pst") {
53 $arch ||= Storable::retrieve "$LIBDIR/archetypes.pst"; 56
57 Crossfire::load_archetypes
58 unless %ARCH;
59
54 my $meta = Storable::retrieve "$base.pst"; 60 my $meta = Storable::retrieve "$base.pst";
55 61
56 open my $fh, ">:utf8", "$base.xhtml" 62 open my $fh, ">:utf8", "$base.xhtml"
57 or die "$base.xhtml: $!"; 63 or die "$base.xhtml: $!";
58 64
114 escape_html $meta->{info}{msg}, 120 escape_html $meta->{info}{msg},
115 "</p>"; 121 "</p>";
116 122
117 print "<table class='map'>"; 123 print "<table class='map'>";
118 124
119 my %ignore = map +($_ => 1), qw(name _name x y); 125 my %ignore = map +($_ => 1), qw(name _name _atype x y);
120 my %is_exit = map +($_ => 1), 41, 57, 66; 126 my %is_exit = map +($_ => 1), 41, 57, 66;
121 127
122 for my $y (0.. $meta->{height} - 1) { 128 for my $y (0.. $meta->{height} - 1) {
123 print "<tr>"; 129 print "<tr>";
124 for my $x (0.. $meta->{width} - 1) { 130 for my $x (0.. $meta->{width} - 1) {

Diff Legend

Removed lines
+ Added lines
< Changed lines
> Changed lines