--- deliantra/server/utils/cfutil.in 2007/03/11 21:26:06 1.8 +++ deliantra/server/utils/cfutil.in 2007/03/12 14:55:43 1.11 @@ -204,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}; @@ -221,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}; @@ -232,7 +234,7 @@ $o->{animation} = "$o->{_name}"; for (@$anim) { - $_ .= $ext unless /^facings\s/; + $_ .= $ext unless /^facings\s|^blank.x11$|^empty.x11$/; } $ANIM{"$o->{_name}$ext"} = @@ -243,7 +245,7 @@ } for my $face ($o->{face} || (), @{$anim || []}) { - next if /^facings\s/; + next if $face =~ /^facings\s|^blank.x11$|^empty.x11$/; my $info = $FACEINFO{$face} ||= {}; @@ -314,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; } @@ -323,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}; }