--- deliantra/Deliantra/Deliantra.pm 2006/03/23 06:45:23 1.54 +++ deliantra/Deliantra/Deliantra.pm 2006/03/23 07:06:17 1.55 @@ -261,14 +261,14 @@ s/\s+$//; if (/^end$/i) { last; - } elsif (/^arch (\S+)$/) { + } elsif (/^arch (\S+)$/i) { push @{ $arc{inventory} }, normalize_arch $parse_block->(_name => $1); - } elsif (/^lore$/) { + } elsif (/^lore$/i) { while (<$fh>) { last if /^endlore\s*$/i; $arc{lore} .= $_; } - } elsif (/^msg$/) { + } elsif (/^msg$/i) { while (<$fh>) { last if /^endmsg\s*$/i; $arc{msg} .= $_; @@ -301,7 +301,16 @@ $prev = $arc; $more = undef; } elsif (/^arch (\S+)$/i) { - push @{ $arc{arch} }, normalize_arch $parse_block->(_name => $1); + my $name = $1; + my $arc = normalize_object $parse_block->(_name => $name); + + if ($more) { + $more->{more} = $arc; + } else { + push @{ $arc{arch} }, $arc; + } + $prev = $arc; + $more = undef; } elsif (/^\s*($|#)/) { # } else {