… | |
… | |
24 | |
24 | |
25 | use CFPlus; |
25 | use CFPlus; |
26 | |
26 | |
27 | our $DB_HOME = "$Crossfire::VARDIR/cfplus-$BerkeleyDB::db_version-$Config{archname}"; |
27 | our $DB_HOME = "$Crossfire::VARDIR/cfplus-$BerkeleyDB::db_version-$Config{archname}"; |
28 | |
28 | |
29 | sub path_of($) { |
29 | sub path_of_res($) { |
|
|
30 | utf8::downgrade $_[0]; # bug in unpack "H*" |
30 | "$DB_HOME/res-data-$_[0]" |
31 | "$DB_HOME/res-data-" . unpack "H*", $_[0] |
31 | } |
32 | } |
32 | |
33 | |
33 | sub sync { |
34 | sub sync { |
34 | # for debugging |
35 | # for debugging |
35 | #CFPlus::DB::Server::req (sync => sub { }); |
36 | #CFPlus::DB::Server::req (sync => sub { }); |
… | |
… | |
52 | CFPlus::DB::Server::req (unlink => @_); |
53 | CFPlus::DB::Server::req (unlink => @_); |
53 | } |
54 | } |
54 | |
55 | |
55 | sub write_file($$$) { |
56 | sub write_file($$$) { |
56 | CFPlus::DB::Server::req (write_file => @_); |
57 | CFPlus::DB::Server::req (write_file => @_); |
|
|
58 | } |
|
|
59 | |
|
|
60 | sub prefetch_file($$$) { |
|
|
61 | CFPlus::DB::Server::req (prefetch_file => @_); |
57 | } |
62 | } |
58 | |
63 | |
59 | our $tilemap; |
64 | our $tilemap; |
60 | |
65 | |
61 | sub get_tile_id_sync($) { |
66 | sub get_tile_id_sync($) { |
… | |
… | |
271 | sub do_write_file { |
276 | sub do_write_file { |
272 | my ($file, $data) = @_; |
277 | my ($file, $data) = @_; |
273 | |
278 | |
274 | utf8::downgrade $file; |
279 | utf8::downgrade $file; |
275 | utf8::downgrade $data; |
280 | utf8::downgrade $data; |
276 | open my $fh, ">:raw", CFPlus::DB::path_of $file |
281 | open my $fh, ">:raw", $file |
277 | or return; |
282 | or return; |
278 | print $fh $data; |
283 | print $fh $data; |
279 | close $fh; |
284 | close $fh; |
|
|
285 | |
|
|
286 | 1 |
|
|
287 | } |
|
|
288 | |
|
|
289 | sub do_prefetch_file { |
|
|
290 | my ($file, $size) = @_; |
|
|
291 | |
|
|
292 | utf8::downgrade $file; |
|
|
293 | open my $fh, "<:raw", $file |
|
|
294 | or return; |
|
|
295 | sysread $fh, my $buf, $size; |
280 | |
296 | |
281 | 1 |
297 | 1 |
282 | } |
298 | } |
283 | |
299 | |
284 | sub run { |
300 | sub run { |