Fix FLAC support for speech in Broken Sword 1.

svn-id: r27723
This commit is contained in:
Travis Howell 2007-06-26 05:51:47 +00:00
parent 9cee28492d
commit 2e3ce7dc8e
2 changed files with 17 additions and 8 deletions

View File

@ -33,6 +33,7 @@
#include "sword1/logic.h"
#include "sword1/sword1.h"
#include "sound/flac.h"
#include "sound/mp3.h"
#include "sound/vorbis.h"
#include "sound/wave.h"
@ -200,7 +201,7 @@ bool Sound::startSpeech(uint16 roomNo, uint16 localNo) {
#ifdef USE_FLAC
else if (_cowMode == CowFlac) {
_cowFile.seek(index);
_mixer->playInputStream(Audio::Mixer::kSpeechSoundType, &_speechHandle, Audio::makeMP3Stream(&_cowFile, sampleSize), SOUND_SPEECH_ID, speechVol, speechPan);
_mixer->playInputStream(Audio::Mixer::kSpeechSoundType, &_speechHandle, Audio::makeFlacStream(&_cowFile, sampleSize), SOUND_SPEECH_ID, speechVol, speechPan);
// with compressed audio, we can't calculate the wave volume.
// so default to talking.
for (int cnt = 0; cnt < 480; cnt++)
@ -350,7 +351,7 @@ void Sound::initCowSystem(void) {
sprintf(cowName, "SPEECH%d.CLF", SwordEngine::_systemVars.currentCD);
_cowFile.open(cowName);
if (_cowFile.isOpen()) {
debug(1, "Using Vorbis compressed Speech Cluster");
debug(1, "Using Flac compressed Speech Cluster");
_cowMode = CowFlac;
}
}

View File

@ -355,14 +355,18 @@ const CdFile SwordEngine::_pcCdFileList[] = {
{ "cows.mad", FLAG_DEMO },
{ "speech1.clu", FLAG_SPEECH1 },
{ "speech2.clu", FLAG_SPEECH2 }
#ifdef USE_MAD
,{ "speech1.cl3", FLAG_SPEECH1 },
{ "speech2.cl3", FLAG_SPEECH2 }
#ifdef USE_FLAC
,{ "speech1.clf", FLAG_SPEECH1 },
{ "speech2.clf", FLAG_SPEECH2 }
#endif
#ifdef USE_VORBIS
,{ "speech1.clv", FLAG_SPEECH1 },
{ "speech2.clv", FLAG_SPEECH2 }
#endif
#ifdef USE_MAD
,{ "speech1.cl3", FLAG_SPEECH1 },
{ "speech2.cl3", FLAG_SPEECH2 }
#endif
};
const CdFile SwordEngine::_macCdFileList[] = {
@ -383,14 +387,18 @@ const CdFile SwordEngine::_macCdFileList[] = {
{ "text.clm", FLAG_CD1 | FLAG_DEMO },
{ "speech1.clu", FLAG_SPEECH1 },
{ "speech2.clu", FLAG_SPEECH2 }
#ifdef USE_MAD
,{ "speech1.cl3", FLAG_SPEECH1 },
{ "speech2.cl3", FLAG_SPEECH2 }
#ifdef USE_FLAC
,{ "speech1.clf", FLAG_SPEECH1 },
{ "speech2.clf", FLAG_SPEECH2 }
#endif
#ifdef USE_VORBIS
,{ "speech1.clv", FLAG_SPEECH1 },
{ "speech2.clv", FLAG_SPEECH2 }
#endif
#ifdef USE_MAD
,{ "speech1.cl3", FLAG_SPEECH1 },
{ "speech2.cl3", FLAG_SPEECH2 }
#endif
};