--- deliantra/Deliantra-Client/DC/DB.pm 2007/07/12 17:56:51 1.9 +++ deliantra/Deliantra-Client/DC/DB.pm 2007/07/14 12:05:53 1.11 @@ -26,8 +26,8 @@ our $DB_HOME = "$Crossfire::VARDIR/cfplus-$BerkeleyDB::db_version-$Config{archname}"; -sub path_of($) { - "$DB_HOME/data-$_[0]" +sub path_of_res($) { + "$DB_HOME/res-data-$_[0]" } sub sync { @@ -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;