aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorStrangerke2013-01-20 13:44:14 +0100
committerStrangerke2013-01-20 13:44:14 +0100
commit4c44e797d8b1b84b29294d09fc6f43b5e33dd6f0 (patch)
treeffe34803d3f6c05b653a103190da61a14bedbd76
parente5db285cd64dfe3941b1fd55d95805c97ccd8332 (diff)
downloadscummvm-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.cpp11
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)