--- deliantra/Deliantra-Client/bin/cfplus 2007/07/31 00:30:16 1.193 +++ deliantra/Deliantra-Client/bin/cfplus 2007/07/31 00:50:04 1.194 @@ -170,7 +170,7 @@ our $MUSIC_PLAYER; our $MUSIC_RESUME = 30; # resume music when players less than these many seconds before our @SOUNDS; # event => file mapping -our %AUDIO_CHUNKS; # audio files +our %AUDIO_CHUNK; # audio files our $ALT_ENTER_MESSAGE; our $STATUSBOX; @@ -483,7 +483,7 @@ $SPELL_LIST->clear_spells; $CFPlus::UI::ROOT->emit (stop_game => ! ! $CONN); - &audio_music_set ([]); + &audio_music_set_ambient ([]); return unless $CONN; @@ -1805,15 +1805,16 @@ for (grep $_->[0] >= Event::time, @{(delete $AUDIO_PLAY{$face}) || []}) { my (undef, $dx, $dy, $vol) = @$_; - my $channel = $chunk->play - or return; - + my $channel = CFPlus::Channel::find; $channel->volume (128 + $vol); $dx = $dx / 10 * 255; $channel->set_panning ((min 255, 255 - $dx), (min 255, 255 + $dx)); + # my $angle = $dx ? : $dx < 0 ? # my $distance = -$vol; # $channel->set_position ($angle, $distance); + + $chunk->play ($channel); } } else { # sound_meta not set means data is in flight either way @@ -1845,7 +1846,7 @@ unless @$queue > 1; } -sub audio_music_set { +sub audio_music_set_ambient { my ($songs) = @_; my @want = @@ -1957,7 +1958,7 @@ CFPlus::Mix_CloseAudio if $SDL_MIXER; undef $SDL_MIXER; @SOUNDS = (); - %AUDIO_CHUNKS = (); + %AUDIO_CHUNK = (); } my %animate_object;