From 3c6114bd9cf2ff5655879688ad06a19e5bef3a9f Mon Sep 17 00:00:00 2001 From: Nicolas Bacca Date: Fri, 13 Feb 2004 00:54:58 +0000 Subject: Check for MP3 file in Broken Sword cutscenes - useful for WinCE backend as Tremor crashes for no specific reason (help appreciated :p) here svn-id: r12837 --- sword2/driver/animation.cpp | 21 ++++++++++++++------- 1 file changed, 14 insertions(+), 7 deletions(-) (limited to 'sword2/driver/animation.cpp') diff --git a/sword2/driver/animation.cpp b/sword2/driver/animation.cpp index f6f74cd3d7..d0840c691e 100644 --- a/sword2/driver/animation.cpp +++ b/sword2/driver/animation.cpp @@ -31,6 +31,7 @@ #include "common/file.h" #include "sound/vorbis.h" +#include "sound/mp3.h" namespace Sword2 { @@ -136,19 +137,25 @@ bool AnimationState::init(const char *name) { ticks = _vm->_system->get_msecs(); // Play audio + sndfile = new File; #ifdef USE_VORBIS - // TODO: There is no reason that this only allows OGG, and not MP3, or - // any other format the mixer might support one day... is there? - sndfile = new File; sprintf(tempFile, "%s.ogg", name); - if (sndfile->open(tempFile)) { - bgSoundStream = makeVorbisStream(sndfile, sndfile->size()); - _vm->_mixer->playInputStream(&bgSound, bgSoundStream, false, 255, 0, -1, false); - } + if (sndfile->open(tempFile)) + bgSoundStream = makeVorbisStream(sndfile, sndfile->size()); +#endif +#ifdef USE_MAD + if (!sndfile->isOpen()) { + sprintf(tempFile, "%s.mp3", name); + if (sndfile->open(tempFile)) + bgSoundStream = makeMP3Stream(sndfile, sndfile->size()); + } #endif + if (sndfile->isOpen()) + _vm->_mixer->playInputStream(&bgSound, bgSoundStream, false, 255, 0, -1, false); + return true; #else /* USE_MPEG2 */ return false; -- cgit v1.2.3