diff options
Diffstat (limited to 'engines/hopkins/script.cpp')
-rw-r--r-- | engines/hopkins/script.cpp | 31 |
1 files changed, 18 insertions, 13 deletions
diff --git a/engines/hopkins/script.cpp b/engines/hopkins/script.cpp index c39273203d..09b0641a12 100644 --- a/engines/hopkins/script.cpp +++ b/engines/hopkins/script.cpp @@ -148,12 +148,18 @@ int ScriptManager::handleOpcode(const byte *dataP) { _vm->_soundMan->mixVoice(635, 4, displayedTxtFl); } else { int textPosX = READ_LE_INT16(dataP + 9); - if (_vm->_globals->_language == LANG_FR && !_vm->_soundMan->_textOffFl) - _vm->_fontMan->initTextBuffers(9, mesgId, "OBJET1.TXT", 2 * textPosX, 60, 6, dataP[7], 253); - else if (_vm->_globals->_language == LANG_EN && !_vm->_soundMan->_textOffFl) - _vm->_fontMan->initTextBuffers(9, mesgId, "OBJETAN.TXT", 2 * textPosX, 60, 6, dataP[7], 253); - else if (_vm->_globals->_language == LANG_SP && !_vm->_soundMan->_textOffFl) { - _vm->_fontMan->initTextBuffers(9, mesgId, "OBJETES.TXT", 2 * textPosX, 60, 6, dataP[7], 253); + if (!_vm->_soundMan->_textOffFl) { + switch (_vm->_globals->_language) { + case LANG_FR: + _vm->_fontMan->initTextBuffers(9, mesgId, "OBJET1.TXT", 2 * textPosX, 60, 6, dataP[7], 253); + break; + case LANG_EN: + _vm->_fontMan->initTextBuffers(9, mesgId, "OBJETAN.TXT", 2 * textPosX, 60, 6, dataP[7], 253); + break; + case LANG_SP: + _vm->_fontMan->initTextBuffers(9, mesgId, "OBJETES.TXT", 2 * textPosX, 60, 6, dataP[7], 253); + break; + } } bool displayedTxtFl = false; @@ -536,6 +542,7 @@ int ScriptManager::handleOpcode(const byte *dataP) { break; case 12: + // Bank - negotiations between Hopkins and one of the killers _vm->_fontMan->hideText(9); _vm->_events->refreshScreenAndEvents(); _vm->_events->refreshScreenAndEvents(); @@ -543,6 +550,7 @@ int ScriptManager::handleOpcode(const byte *dataP) { break; case 13: + // Bank - after negotiations, Hopkins enters the bank _vm->_events->_mouseButton = _vm->_events->_curMouseButton; _vm->_globals->_disableInventFl = true; _vm->_graphicsMan->fadeOutLong(); @@ -553,9 +561,7 @@ int ScriptManager::handleOpcode(const byte *dataP) { _vm->_graphicsMan->endDisplayBob(); _vm->_objectsMan->clearScreen(); - if ((_vm->getPlatform() == Common::kPlatformWindows) && _vm->getIsDemo()) { - _vm->_graphicsMan->fadeOutLong(); - } else { + if ((_vm->getPlatform() != Common::kPlatformWindows) || !_vm->getIsDemo()) { _vm->_soundMan->playSoundFile("SOUND17.WAV"); _vm->_graphicsMan->_fadingFl = true; _vm->_animMan->playSequence2("HELICO.SEQ", 10, 4, 10); @@ -615,10 +621,6 @@ int ScriptManager::handleOpcode(const byte *dataP) { _vm->_graphicsMan->_fadingFl = true; _vm->_animMan->playSequence2("ASSOM.SEQ", 10, 4, 500); _vm->_soundMan->_specialSoundNum = 0; - - if ((_vm->getPlatform() == Common::kPlatformWindows) && _vm->getIsDemo()) - _vm->_graphicsMan->fadeOutLong(); - _vm->_globals->_disableInventFl = false; _vm->_objectsMan->_helicopterFl = true; break; @@ -1221,6 +1223,7 @@ int ScriptManager::handleOpcode(const byte *dataP) { break; case 88: + // Shooting target - Shooting at target if (_vm->_globals->_saveData->_data[svField183] == 1) { _vm->_objectsMan->setBobAnimDataIdx(1, 0); _vm->_objectsMan->setBobAnimDataIdx(2, 0); @@ -1298,6 +1301,7 @@ int ScriptManager::handleOpcode(const byte *dataP) { break; case 90: + // Shooting target - Using the level _vm->_soundMan->playSoundFile("SOUND52.WAV"); if (!_vm->_globals->_saveData->_data[svField186]) { _vm->_animMan->playSequence("CIB5A.SEQ", 1, 12, 1, false, false); @@ -1984,6 +1988,7 @@ int ScriptManager::handleOpcode(const byte *dataP) { break; case 216: + // Discuss with pilot just before Flight cutscene _vm->_globals->_introSpeechOffFl = true; _vm->_talkMan->startAnimatedCharacterDialogue("aviat1.pe2"); _vm->_globals->_introSpeechOffFl = false; |