… | |
… | |
6 | |
6 | |
7 | use Errno (); |
7 | use Errno (); |
8 | use Time::HiRes; |
8 | use Time::HiRes; |
9 | use Fcntl; |
9 | use Fcntl; |
10 | use IO::AIO; |
10 | use IO::AIO; |
11 | |
|
|
12 | Event->io (fd => IO::AIO::poll_fileno, |
|
|
13 | poll => 'r', |
|
|
14 | cb => \&IO::AIO::poll_cb); |
|
|
15 | |
11 | |
16 | # find all potential exit paths, this is slow, so this info is cached |
12 | # find all potential exit paths, this is slow, so this info is cached |
17 | sub find_exits { |
13 | sub find_exits { |
18 | my ($map) = @_; |
14 | my ($map) = @_; |
19 | |
15 | |
… | |
… | |
112 | prefetch map => $_ for @$exit; |
108 | prefetch map => $_ for @$exit; |
113 | } |
109 | } |
114 | |
110 | |
115 | cf::attach_to_players prio => -900, |
111 | cf::attach_to_players prio => -900, |
116 | on_map_change => sub { |
112 | on_map_change => sub { |
117 | my ($pl, $old, $new) = @_; |
113 | my ($pl, $new, $x, $x) = @_; |
118 | |
114 | |
119 | prefetch_map $new; |
115 | prefetch_map $new; |
120 | }, |
116 | }, |
121 | ; |
117 | ; |
122 | |
118 | |