--- deliantra/server/lib/cf.pm 2006/12/31 21:02:05 1.108 +++ deliantra/server/lib/cf.pm 2006/12/31 22:23:12 1.109 @@ -283,7 +283,8 @@ my $self = bless { }, $class; if ($path =~ s{^\?random/}{}) { - $self->{random} = cf::from_json $path; + Coro::AIO::aio_load "$cf::RANDOM_MAPS/$path.meta", my $data; + $self->{random} = cf::from_json $data; } else { if ($path =~ s{^~([^/]+)?}{}) { $self->{user_rel} = 1; @@ -326,8 +327,12 @@ sub visible_name { my ($self) = @_; - $self->{random} ? "?random/$self->{random}{origin_map}+$self->{random}{origin_x}+$self->{random}{origin_y}/$self->{random}{dungeon_level}" - : $self->as_string +# if (my $rmp = $self->{random}) { +# # todo: be more intelligent about this +# "?random/$rmp->{origin_map}+$rmp->{origin_x}+$rmp->{origin_y}/$rmp->{dungeon_level}" +# } else { + $self->as_string +# } } # escape the /'s in the path @@ -349,7 +354,7 @@ my ($self) = @_; $self->{user_rel} ? sprintf "%s/%s/%s/%s", cf::localdir, cf::playerdir, $self->{user}, $self->_escaped_path - : $self->{random} ? sprintf "%s/%s", $RANDOM_MAPS, Digest::MD5::md5_hex $self->{path} + : $self->{random} ? sprintf "%s/%s", $RANDOM_MAPS, $self->{path} : sprintf "%s/%s/%s", cf::localdir, cf::tmpdir, $self->_escaped_path }