… | |
… | |
383 | $self->{map}->set_map ($path); |
383 | $self->{map}->set_map ($path); |
384 | delete $self->{meta_info}; |
384 | delete $self->{meta_info}; |
385 | $self->set_title ('<ram>'); |
385 | $self->set_title ('<ram>'); |
386 | |
386 | |
387 | } else { |
387 | } else { |
|
|
388 | my $ok = 0; |
388 | unless (-e $path && -f $path) { |
389 | unless (-e $path && -f $path) { |
|
|
390 | unless ($path =~ m/\.map$/) { # yuck |
|
|
391 | my $p = $path . '.map'; |
|
|
392 | if ($ok = -e $p && -f $p) { |
|
|
393 | $path = $p; |
|
|
394 | } |
|
|
395 | } |
|
|
396 | } |
|
|
397 | unless ($ok) { |
389 | die "Couldn't open '$path': No such file or it is not a file.\n"; |
398 | die "Couldn't open '$path' or '$path.map': No such file or it is not a file.\n"; |
390 | } |
399 | } |
391 | $self->{path} = $path; |
400 | $self->{path} = $path; |
392 | $self->{map}->set_map (my $m = new_from_file Crossfire::Map $path); |
401 | $self->{map}->set_map (my $m = new_from_file Crossfire::Map $path); |
393 | $self->{meta_info} = load_meta_info ($path); |
402 | $self->{meta_info} = load_meta_info ($path); |
394 | $self->set_title ("gce - map editor - $self->{path}"); |
403 | $self->set_title ("gce - map editor - $self->{path}"); |