diff options
author | Strangerke | 2013-01-20 13:44:14 +0100 |
---|---|---|
committer | Strangerke | 2013-01-20 13:44:14 +0100 |
commit | 4c44e797d8b1b84b29294d09fc6f43b5e33dd6f0 (patch) | |
tree | ffe34803d3f6c05b653a103190da61a14bedbd76 | |
parent | e5db285cd64dfe3941b1fd55d95805c97ccd8332 (diff) | |
download | scummvm-rg350-4c44e797d8b1b84b29294d09fc6f43b5e33dd6f0.tar.gz scummvm-rg350-4c44e797d8b1b84b29294d09fc6f43b5e33dd6f0.tar.bz2 scummvm-rg350-4c44e797d8b1b84b29294d09fc6f43b5e33dd6f0.zip |
HOPKINS: Fix speech in intro for BeOS and OS/2 versions. Thanks Eriktorbjorn for the help
-rw-r--r-- | engines/hopkins/sound.cpp | 11 |
1 files changed, 10 insertions, 1 deletions
diff --git a/engines/hopkins/sound.cpp b/engines/hopkins/sound.cpp index 3894e7f67a..f80081be00 100644 --- a/engines/hopkins/sound.cpp +++ b/engines/hopkins/sound.cpp @@ -497,8 +497,17 @@ bool SoundManager::mixVoice(int voiceId, int voiceMode) { else if (voiceMode == 5) prefix = "OF"; + // BeOS and OS/2 versions are using a slightly different speech order during intro + // This map those values to the oens used by the Win95 and Linux versions + int mappedFileNumber = fileNumber; + if (voiceMode == 3 && (_vm->getPlatform() == Common::kPlatformOS2 || _vm->getPlatform() == Common::kPlatformBeOS)) { + if (fileNumber == 4) + mappedFileNumber = 0; + else if (fileNumber > 4) + mappedFileNumber = fileNumber - 1; + } - filename = Common::String::format("%s%d", prefix.c_str(), fileNumber); + filename = Common::String::format("%s%d", prefix.c_str(), mappedFileNumber); if (!_vm->_fileManager.searchCat(filename + ".WAV", 9)) { if (_vm->getPlatform() == Common::kPlatformOS2 || _vm->getPlatform() == Common::kPlatformBeOS) |