--- deliantra/Deliantra-Client/DC/DB.pm 2007/07/13 05:31:31 1.10 +++ deliantra/Deliantra-Client/DC/DB.pm 2007/07/14 12:05:53 1.11 @@ -26,7 +26,7 @@ our $DB_HOME = "$Crossfire::VARDIR/cfplus-$BerkeleyDB::db_version-$Config{archname}"; -sub path_of($) { +sub path_of_res($) { "$DB_HOME/res-data-$_[0]" } @@ -56,6 +56,10 @@ CFPlus::DB::Server::req (write_file => @_); } +sub prefetch_file($$$) { + CFPlus::DB::Server::req (prefetch_file => @_); +} + our $tilemap; sub get_tile_id_sync($) { @@ -273,13 +277,24 @@ utf8::downgrade $file; utf8::downgrade $data; - open my $fh, ">:raw", CFPlus::DB::path_of $file + open my $fh, ">:raw", $file or return; print $fh $data; close $fh; 1 } + +sub do_prefetch_file { + my ($file, $size) = @_; + + utf8::downgrade $file; + open my $fh, "<:raw", $file + or return; + sysread $fh, my $buf, $size; + + 1 +} sub run { ($FH, my $fh) = CFPlus::socketpipe;