--- deliantra/server/utils/cfutil.in 2007/03/11 02:12:45 1.6 +++ deliantra/server/utils/cfutil.in 2007/03/12 14:55:43 1.11 @@ -156,6 +156,7 @@ "(", "+clone", -crop => (sprintf "%dx%d+%d+%d", $T, $T, $_->[0] * $T, $_->[1] * $T), + "+repage", -write => "png:$_->[2]~", "+delete", ")", @@ -203,6 +204,8 @@ for my $o (values %$arc) { push @ARC, $o; + $o->{editor_folder} = $dir; + my $visibility = delete $o->{visibility}; my $magicmap = delete $o->{magicmap}; @@ -220,7 +223,7 @@ my $ext = $x|$y ? "+$x+$y" : ""; - $o->{face} .= $ext; + $o->{face} .= $ext unless /^blank.x11$|^empty.x11$/; my $visibility = delete $o->{visibility} if exists $o->{visibility}; my $magicmap = delete $o->{magicmap} if exists $o->{magicmap}; @@ -228,21 +231,21 @@ my $anim = delete $o->{anim}; if ($anim) { - $o->{animation} = "$o->{_name}$ext"; + $o->{animation} = "$o->{_name}"; for (@$anim) { - $_ .= $ext unless /^facings\s/; + $_ .= $ext unless /^facings\s|^blank.x11$|^empty.x11$/; } $ANIM{"$o->{_name}$ext"} = join "", map "$_\n", - "anim $o->{_name}$ext", + "anim $o->{_name}", @$anim, "mina"; } for my $face ($o->{face} || (), @{$anim || []}) { - next if /^facings\s/; + next if $face =~ /^facings\s|^blank.x11$|^empty.x11$/; my $info = $FACEINFO{$face} ||= {}; @@ -313,6 +316,7 @@ { open my $fh, ">:utf8", "$DATADIR/archetypes~" or die "$DATADIR/archetypes~: $!"; + substr $_->{editor_folder}, 0, 1 + length $path, "" for @ARC; print $fh Crossfire::archlist_to_string \@ARC; } @@ -322,7 +326,7 @@ } while (my ($k, $v) = each %FACEINFO) { - exists $v->{data32} or warn "$k: face has no png32. this will crash the server.\n"; + length $v->{data32} or warn "$k: face has no png32. this will crash the server.\n"; $v->{chksum32} = Digest::MD5::md5 $v->{data32}; }