Deliantra-Client
view release on metacpan or search on metacpan
DC/Protocol.pm view on Meta::CPAN
my ($self, $facenum, $face, $changed) = @_;
if ($face->{type} == 0) {
# image, FT_FACE
DC::DB::put tilecache => $face->{id} => $face->{data}, sub { }
if $changed;
$self->have_tile ($face->{id}, delete $face->{data});
} elsif ($face->{type} & 1) {
# split metadata case, FT_MUSIC, FT_SOUND
if ($changed) { # new data
my ($meta, $data) = unpack "(w/a*)*", $face->{data};
$face->{data} = $meta;
# rely on strict ordering here and also on later fetch
DC::DB::put res_data => $face->{name} => $data, sub { };
DC::DB::put res_meta => $face->{name} => $meta, sub { };
}
$face->{data} = $self->{json_coder}->decode ($face->{data});
( run in 2.597 seconds using v1.01-cache-2.11-cpan-71847e10f99 )