ViewVC Help
View File | Revision Log | Show Annotations | Download File
/cvs/deliantra/server/ext/map-random.ext
(Generate patch)

Comparing deliantra/server/ext/map-random.ext (file contents):
Revision 1.17 by root, Mon Jun 11 21:38:13 2007 UTC vs.
Revision 1.22 by root, Tue Apr 15 03:16:02 2008 UTC

6 my ($self) = @_; 6 my ($self) = @_;
7 7
8 $self->{random_id} = $1; 8 $self->{random_id} = $1;
9 9
10 if (0 < Coro::AIO::aio_load "$cf::RANDOMDIR/$self->{random_id}.meta", my $data) { 10 if (0 < Coro::AIO::aio_load "$cf::RANDOMDIR/$self->{random_id}.meta", my $data) {
11 $self->{random} = cf::from_json $data; 11 $self->{random} = cf::decode_json $data;
12 $self->{random}{custom} ||= "$self->{random}{origin_map}+$self->{random}{origin_x}+$self->{random}{origin_y}"; 12 $self->{random}{custom} ||= "$self->{random}{origin_map}+$self->{random}{origin_x}+$self->{random}{origin_y}";
13 } else { 13 } else {
14 warn "unable to read meta file for $self->{random_id}\n"; 14 warn "unable to read meta file for $self->{random_id}\n";
15 return 0; 15 return 0;
16 } 16 }
74 } 74 }
75 } 75 }
76} 76}
77 77
78# clean up old temp maps regularly 78# clean up old temp maps regularly
79Event->timer ( 79our $CLEAN_RANDOM_MAPS = cf::periodic 3600, Coro::unblock_sub {
80 reentrant => 0, 80 clean_random_maps;
81 data => cf::WF_AUTOCANCEL, 81};
82 interval => 3600,
83 after => 60,
84 cb => Coro::unblock_sub { clean_random_maps },
85);
86 82
87# map generator stresstest, never enable under normal circumstances 83# map generator stresstest, NEVER enable under normal circumstances
88if (0) { 84if (0) {
89 cf::async { 85 cf::async {
90 my $seed = 0; 86 my $seed = 0;
91 while () { 87 while () {
92 my $map = cf::map::new; 88 my $map = cf::map::new;
93 $map->generate_random_map ({ 89 $map->generate_random_map ({
94 region => "scorn", 90 region => "scorn",
95 random_seed => $seed++, 91 random_seed => $seed++,
96 xsize => 12, 92 xsize => (int rand 90) + 3,
97 ysize => 12, 93 ysize => (int rand 90) + 3,
98 }); 94 });
99 warn sprintf "%d: %d %d\n", $seed, $map->width, $map->height;#d# 95# warn sprintf "%d: %d %d\n", $seed, $map->width, $map->height;#d#
100 $map->destroy; 96 $map->destroy;
101 } 97 }
102 }; 98 };
103} 99}
104 100

Diff Legend

Removed lines
+ Added lines
< Changed lines
> Changed lines