ViewVC Help
View File | Revision Log | Show Annotations | Download File
/cvs/deliantra/server/lib/cf.pm
(Generate patch)

Comparing deliantra/server/lib/cf.pm (file contents):
Revision 1.57 by root, Wed Aug 30 11:21:24 2006 UTC vs.
Revision 1.58 by root, Wed Aug 30 12:08:15 2006 UTC

482 482
483 if (@$objs) { 483 if (@$objs) {
484 open my $fh, ">:raw", "$filename.pst~"; 484 open my $fh, ">:raw", "$filename.pst~";
485 syswrite $fh, Storable::nfreeze { version => 1, objs => $objs }; 485 syswrite $fh, Storable::nfreeze { version => 1, objs => $objs };
486 close $fh; 486 close $fh;
487 unlink "$filename.cfperl";
488 chmod SAVE_MODE, "$filename.pst~"; 487 chmod SAVE_MODE, "$filename.pst~";
489 rename "$filename.pst~", "$filename.pst"; 488 rename "$filename.pst~", "$filename.pst";
490 } else { 489 } else {
491 unlink "$filename.pst"; 490 unlink "$filename.pst";
492 } 491 }
765 defined $path or return; 764 defined $path or return;
766 765
767 unlink "$path.pst"; 766 unlink "$path.pst";
768}; 767};
769 768
770# old style persistent data, TODO: remove #d#
771*cf::mapsupport::on_swapin = sub {
772 my ($map) = @_;
773
774 my $path = $map->tmpname;
775 $path = $map->path unless defined $path;
776
777 open my $fh, "<:raw", "$path.cfperl"
778 or return; # no perl data
779
780 my $data = Storable::thaw do { local $/; <$fh> };
781
782 $data->{version} <= 1
783 or return; # too new
784
785 $map->_set_obs ($data->{obs});
786 $map->invoke (EVENT_MAP_UPGRADE);
787};
788
789attach_to_maps prio => -10000, package => cf::mapsupport::; 769attach_to_maps prio => -10000, package => cf::mapsupport::;
790 770
791############################################################################# 771#############################################################################
792# load/save perl data associated with player->ob objects 772# load/save perl data associated with player->ob objects
793 773

Diff Legend

Removed lines
+ Added lines
< Changed lines
> Changed lines