--- deliantra/server/ext/player-env.ext 2007/07/12 19:10:48 1.6 +++ deliantra/server/ext/player-env.ext 2007/07/31 00:56:58 1.12 @@ -25,6 +25,8 @@ for (keys %MUSIC_QUEUE) { delete $MUSIC_QUEUE{$_}; + cf::get_slot 0.01, -10, "music scheduler"; + my $pl = cf::player::find_active $_ or next; $pl->ob->active or next; my $ns = $pl->ns or next; @@ -66,21 +68,14 @@ $ns->{current_music_faces} ne $facestr or next; - warn "MUSIC CHANGE <$ns->{current_music_faces}> <$facestr>\n";#d# - $ns->{current_music_faces} = $facestr; - my $msg = { - play => $faces, - }; - my $pri = 0; - push @{$msg->{faces}}, [$_, $pri++, cf::face::get_chksum $_] - for grep $ns->must_send_face ($_), @$faces; - - $ns->ext_event (music => %$msg); + $ns->send_face ($_, --$pri - 110) + for @$faces; + $ns->flush_fx; - cf::cede_to_tick; + $ns->ext_msg (music => { ambient => $faces }); } Coro::schedule unless %MUSIC_QUEUE; }