aboutsummaryrefslogtreecommitdiff
path: root/engines/hopkins/sound.cpp
diff options
context:
space:
mode:
authorStrangerke2012-12-06 08:12:00 +0100
committerStrangerke2012-12-06 08:12:00 +0100
commite10f98fa5bafd762316c890b6ea71253c04bd4e3 (patch)
tree20930b0bbe8f26cdf0959de80dc53a530906e306 /engines/hopkins/sound.cpp
parent5ac76b5c5256f15f0f1b41d6c209139147a4d2e4 (diff)
downloadscummvm-rg350-e10f98fa5bafd762316c890b6ea71253c04bd4e3.tar.gz
scummvm-rg350-e10f98fa5bafd762316c890b6ea71253c04bd4e3.tar.bz2
scummvm-rg350-e10f98fa5bafd762316c890b6ea71253c04bd4e3.zip
HOPKINS: Add fallback to APC for dialogs
Diffstat (limited to 'engines/hopkins/sound.cpp')
-rw-r--r--engines/hopkins/sound.cpp26
1 files changed, 19 insertions, 7 deletions
diff --git a/engines/hopkins/sound.cpp b/engines/hopkins/sound.cpp
index 8ffe5a4f32..37ac7c4e2a 100644
--- a/engines/hopkins/sound.cpp
+++ b/engines/hopkins/sound.cpp
@@ -512,9 +512,9 @@ bool SoundManager::VOICE_MIX(int voiceId, int voiceMode) {
prefix = "OF";
}
- filename = Common::String::format("%s%d.WAV", prefix.c_str(), fileNumber);
+ filename = Common::String::format("%s%d", prefix.c_str(), fileNumber);
- if (!_vm->_fileManager.RECHERCHE_CAT(filename, 9)) {
+ if (!_vm->_fileManager.RECHERCHE_CAT(filename + ".WAV", 9)) {
if (_vm->_globals.FR == 1)
_vm->_fileManager.CONSTRUIT_FICHIER(_vm->_globals.HOPVOICE, "RES_VFR.RES");
if (!_vm->_globals.FR)
@@ -524,11 +524,23 @@ bool SoundManager::VOICE_MIX(int voiceId, int voiceMode) {
catPos = _vm->_globals.CAT_POSI;
catLen = _vm->_globals.CAT_TAILLE;
- } else {
- _vm->_fileManager.CONSTRUIT_FICHIER(_vm->_globals.HOPVOICE, filename);
-
- if (!f.exists(_vm->_globals.NFICHIER))
- return false;
+ } else if (!_vm->_fileManager.RECHERCHE_CAT(filename + ".APC", 9)) {
+ if (_vm->_globals.FR == 1)
+ _vm->_fileManager.CONSTRUIT_FICHIER(_vm->_globals.HOPVOICE, "RES_VFR.RES");
+ if (!_vm->_globals.FR)
+ _vm->_fileManager.CONSTRUIT_FICHIER(_vm->_globals.HOPVOICE, "RES_VAN.RES");
+ if (_vm->_globals.FR == 2)
+ _vm->_fileManager.CONSTRUIT_FICHIER(_vm->_globals.HOPVOICE, "RES_VES.RES");
+
+ catPos = _vm->_globals.CAT_POSI;
+ catLen = _vm->_globals.CAT_TAILLE;
+ } else {
+ _vm->_fileManager.CONSTRUIT_FICHIER(_vm->_globals.HOPVOICE, filename + ".WAV");
+ if (!f.exists(_vm->_globals.NFICHIER)) {
+ _vm->_fileManager.CONSTRUIT_FICHIER(_vm->_globals.HOPVOICE, filename + ".APC");
+ if (!f.exists(_vm->_globals.NFICHIER))
+ return false;
+ }
catPos = 0;
catLen = 0;