--- deliantra/gde/GCE/Util.pm 2006/04/02 09:54:18 1.14
+++ deliantra/gde/GCE/Util.pm 2006/06/01 14:33:14 1.18
@@ -20,13 +20,21 @@
use File::Spec::Functions;
use Cwd 'abs_path';
-our @EXPORT = qw(insert_arch_stack_layer replace_arch_stack_layer new_arch_pb fill_pb_from_arch arch_is_floor stack_find_floor stack_find_wall stack_find arch_is_wall arch_is_monster add_table_widget quick_msg def arch_is_exit map2abs exit_paths pseudohtml2txt);
+our @EXPORT = qw(insert_arch_stack_layer replace_arch_stack_layer new_arch_pb
+ fill_pb_from_arch arch_is_floor stack_find_floor stack_find_wall
+ stack_find arch_is_wall arch_is_monster add_table_widget quick_msg
+ def arch_is_exit map2abs exit_paths pseudohtml2txt arch_is_connector);
sub pseudohtml2txt {
my ($html) = @_;
$html =~ s/
/\n/gsi;
$html =~ s/(.*?)<\/b>/_\1_/gsi;
+ $html =~ s//\n* /gi;
+ $html =~ s/<\/?\s*li>//gi;
+ $html =~ s/<\/?\s*ul>//gi;
+ $html =~ s/>/>/g;
+ $html =~ s/</file_name_is_absolute($dest)) {
$dir = catdir ($::CFG->{MAPDIR}, $dest);
@@ -150,7 +159,29 @@
my ($a) = @_;
my $ar = Crossfire::arch_attr $a;
return (substr $ar->{name}, 0, 5) eq 'Floor';
-#return $Crossfire::ARCH{$a->{_name}}->{is_floor};
+}
+
+sub arch_is_connector {
+ my ($a) = @_;
+ my $ar = Crossfire::arch_attr $a;
+ my $has_connect_field = 0;
+
+ TOP: for (@{$ar->{section}}) {
+ my $name = shift @$_;
+ my @r = @$_;
+ if ($name eq 'general') {
+ for (@r) {
+ my ($k, $s) = ($_->[0], $_->[1]);
+ if ($k eq 'connected' && $s->{name} eq 'connection') {
+ $has_connect_field = 1;
+ last TOP;
+ }
+ }
+ last TOP;
+ }
+ }
+
+ return $has_connect_field;
}
sub arch_is_wall {