ViewVC Help
View File | Revision Log | Show Annotations | Download File
/cvs/deliantra/Deliantra/Deliantra/Map.pm
(Generate patch)

Comparing deliantra/Deliantra/Deliantra/Map.pm (file contents):
Revision 1.2 by root, Thu Feb 9 20:54:42 2006 UTC vs.
Revision 1.3 by root, Thu Feb 9 21:00:33 2006 UTC

197 197
198 my $append; $append = sub { 198 my $append; $append = sub {
199 my %a = %{$_[0]}; 199 my %a = %{$_[0]};
200 200
201 $str .= "arch " . (delete $a{_name}) . "\n"; 201 $str .= "arch " . (delete $a{_name}) . "\n";
202 # should normalize order, no alphabetic, but "better"
203 202
204 if (my $inv = delete $a{arch}) { 203 my $inv = delete $a{arch};
205 $append->($_) for @$inv;
206 }
207 204
205 # put inventory last
208 for my $k (sort keys %a) { 206 for my $k (sort keys %a) {
209 if (my $end = $Crossfire::FIELD_MULTILINE{$k}) { 207 if (my $end = $Crossfire::FIELD_MULTILINE{$k}) {
210 $a{$k} =~ s/\n$//; 208 $a{$k} =~ s/\n$//;
211 $str .= "$k\n$a{$k}\n$end\n"; 209 $str .= "$k\n$a{$k}\n$end\n";
212 } else { 210 } else {
213 $str .= "$k $a{$k}\n"; 211 $str .= "$k $a{$k}\n";
214 } 212 }
215 } 213 }
216 214
215 if ($inv) {
216 $append->($_) for @$inv;
217 }
218
217 $str .= "end\n"; 219 $str .= "end\n";
218 220
219 }; 221 };
220 222
221 for (@$arch) { 223 for (@$arch) {

Diff Legend

Removed lines
+ Added lines
< Changed lines
> Changed lines