--- deliantra/Deliantra-Client/bin/cfplus 2007/08/04 03:29:03 1.202 +++ deliantra/Deliantra-Client/bin/cfplus 2007/08/06 02:11:45 1.203 @@ -241,14 +241,16 @@ # if its a jingle, play it as ambient music if ($meta->{meta}{jingle}) { - delete $AUDIO_PLAY{$face}; # take the jingle out of the sound queue - push @MUSIC_JINGLE, $meta; # push it oto the music/jingle queue - &audio_music_push ($face); + if (delete $AUDIO_PLAY{$face}) { # take the jingle out of the sound queue + push @MUSIC_JINGLE, $meta; # push it oto the music/jingle queue + &audio_music_push ($face); + } } else { # fetch from database CFPlus::DB::get res_data => $meta->{name}, sub { my $rwops = new CFPlus::RW $_[0]; - my $chunk = new CFPlus::MixChunk $rwops; + my $chunk = new CFPlus::MixChunk $rwops + or Carp::confess "sound face $meta->{face} unloadable: " . CFPlus::Mix_GetError; $chunk->volume (($meta->{meta}{volume} || 1) * 128); $AUDIO_CHUNK{$face} = $chunk; @@ -310,7 +312,7 @@ : new CFPlus::RW $$MUSIC_PLAYING_DATA; $MUSIC_PLAYER = new CFPlus::MixMusic $rwops - or ((warn CFPlus::Mix_GetError), return); # pretty fatal error + or Carp::confess "music face $meta->{face} unloadable: " . CFPlus::Mix_GetError; my $NOW = time;