--- deliantra/Deliantra-Client/DC/Protocol.pm 2007/07/29 18:22:34 1.139 +++ deliantra/Deliantra-Client/DC/Protocol.pm 2007/07/29 21:31:47 1.141 @@ -737,7 +737,7 @@ } elsif ($face->{type} & 1) { # with metadata #::message ({ markup => "starting to download song #$face/$pri, check your output-rate setting if your connection gets laggy." }); - CFPlus::DB::get "res-metadata" => $face->{name}, $cb; + CFPlus::DB::get res_meta => $face->{name}, $cb; } } @@ -752,12 +752,8 @@ } elsif ($face->{type} & 1) { # split metadata my $cb = sub { }; - my $path; if ($face->{type} == 3) { # FT_MUSIC - # store externally - $path = CFPlus::DB::path_of_res $face->{name}; - $cb = sub { $self->{music_meta}{$facenum} = $face; @@ -770,33 +766,24 @@ $cb = sub { $self->{sound_meta}{$facenum} = $face; - use Data::Dumper; warn Dumper $face;#d# ::message ({ markup => "downloaded sound #$facenum" }) if $changed; + + &::audio_sound_push ($facenum); }; } - if ($changed) { # new data my ($meta_json, $data) = unpack "(w/a*)*", delete $face->{data}; - my $put_cb = sub { - CFPlus::DB::put "res-metadata" => $face->{name} => $meta_json, sub { - $face->{meta} = $self->{json_coder}->decode ($meta_json); - $face->{path} = $path; - - $cb->(); - }; + CFPlus::DB::put res_data => $face->{name} => $data, sub { }; + CFPlus::DB::put res_meta => $face->{name} => $meta_json, sub { + $face->{meta} = $self->{json_coder}->decode ($meta_json); + $cb->(); }; - if (defined $path) { - CFPlus::DB::write_file $path, $data, $put_cb; - } else { - CFPlus::DB::put "res-data" => $face->{name} => $data, $put_cb; - } } else { $face->{meta} = $self->{json_coder}->decode (delete $face->{data}); - $face->{path} = $path; $cb->(); } } @@ -836,10 +823,10 @@ } sub sound_play { - my ($self, $x, $y, $soundnum, $type) = @_; - warn "sound play <@_>\n";#d# + my ($self, $type, $face, $dx, $dy, $vol) = @_; - #$self->{sound_play}->($x, $y, $soundnum, $type); + &::audio_sound_play ($face, $dx, $dy, $vol) + unless $type & 1; # odd types are silent for future expansion } my $LAST_QUERY; # server is stupid, stupid, stupid