diff options
Diffstat (limited to 'engines/hopkins')
-rw-r--r-- | engines/hopkins/computer.cpp | 2 | ||||
-rw-r--r-- | engines/hopkins/files.cpp | 2 | ||||
-rw-r--r-- | engines/hopkins/sound.cpp | 53 | ||||
-rw-r--r-- | engines/hopkins/sound.h | 2 | ||||
-rw-r--r-- | engines/hopkins/talk.cpp | 2 |
5 files changed, 38 insertions, 23 deletions
diff --git a/engines/hopkins/computer.cpp b/engines/hopkins/computer.cpp index 84d5c631c7..18b16cb4c8 100644 --- a/engines/hopkins/computer.cpp +++ b/engines/hopkins/computer.cpp @@ -883,7 +883,7 @@ void ComputerManager::getScoreName() { _vm->_graphicsMan->setColorPercentage(254, 0, 0, 0); byte *ptr = _vm->_fileIO->loadFile("ALPHA.SPR"); _vm->_graphicsMan->fadeInBreakout(); - + // Figure out the line to put the new high score on int scoreLine = 0; while (scoreLine < 5 && _breakoutScore < atol(_score[scoreLine]._score.c_str())) diff --git a/engines/hopkins/files.cpp b/engines/hopkins/files.cpp index 6620f2878c..3100ed6cdc 100644 --- a/engines/hopkins/files.cpp +++ b/engines/hopkins/files.cpp @@ -74,7 +74,7 @@ int FileManager::readStream(Common::ReadStream &stream, void *buf, size_t nbytes * It's now using the config manager and a per-engine GUI option. */ void FileManager::initCensorship() { - _vm->_globals->_censorshipFl = ConfMan.getBool("enable_gore"); + _vm->_globals->_censorshipFl = !ConfMan.getBool("enable_gore"); } /** diff --git a/engines/hopkins/sound.cpp b/engines/hopkins/sound.cpp index 773c714899..6660233740 100644 --- a/engines/hopkins/sound.cpp +++ b/engines/hopkins/sound.cpp @@ -261,9 +261,9 @@ void SoundManager::loadAnimSound() { } } -void SoundManager::playAnimSound(int soundNumber) { +void SoundManager::playAnimSound(int animFrame) { if (!_vm->_globals->_censorshipFl && _specialSoundNum == 2) { - switch (soundNumber) { + switch (animFrame) { case 20: playSample(5); break; @@ -273,44 +273,59 @@ void SoundManager::playAnimSound(int soundNumber) { playSample(1); break; case 75: - playSample(2); + // This removes the sound of the gun played while the guard is being shot, as this part of the scene has been + // removed in the Polish version of the game + if (_vm->getLanguage() != Common::PL_POL) + playSample(2); + break; + case 95: + // This fixes an original bug in the Polish version of the game, which was literally butchered for some reason + if (_vm->getLanguage() == Common::PL_POL) + playSample(3); break; case 109: - playSample(3); + if (_vm->getLanguage() != Common::PL_POL) + playSample(3); + break; + case 108: + // This fixes an original bug in the Polish version of the game, which was literally butchered for some reason + if (_vm->getLanguage() == Common::PL_POL) + playSample(4); break; case 122: - playSample(4); + if (_vm->getLanguage() != Common::PL_POL) + playSample(4); break; } - } else if (_specialSoundNum == 1 && soundNumber == 17) + } else if (_specialSoundNum == 1 && animFrame == 17) playSoundFile("SOUND42.WAV"); - else if (_specialSoundNum == 5 && soundNumber == 19) + else if (_specialSoundNum == 5 && animFrame == 19) playWav(1); - else if (_specialSoundNum == 14 && soundNumber == 625) + else if (_specialSoundNum == 14 && animFrame == 625) playWav(1); - else if (_specialSoundNum == 16 && soundNumber == 25) + else if (_specialSoundNum == 16 && animFrame == 25) playWav(1); else if (_specialSoundNum == 17) { - if (soundNumber == 6) + if (animFrame == 6) playSample(1); - else if (soundNumber == 14) + else if (animFrame == 14) playSample(2); - else if (soundNumber == 67) + else if (animFrame == 67) playSample(3); - } else if (_specialSoundNum == 198 && soundNumber == 15) + } else if (_specialSoundNum == 198 && animFrame == 15) playWav(1); - else if (_specialSoundNum == 199 && soundNumber == 72) + else if (_specialSoundNum == 199 && animFrame == 72) playWav(1); - else if (_specialSoundNum == 208 && soundNumber == 40) + else if (_specialSoundNum == 208 && animFrame == 40) playWav(1); - else if (_specialSoundNum == 210 && soundNumber == 2) + else if (_specialSoundNum == 210 && animFrame == 2) playWav(1); - else if (_specialSoundNum == 211 && soundNumber == 22) + else if (_specialSoundNum == 211 && animFrame == 22) playWav(1); else if (_specialSoundNum == 229) { - if (soundNumber == 15) + if (animFrame == 15) playWav(1); - else if (soundNumber == 91) + else if (animFrame == 91) playWav(2); } } diff --git a/engines/hopkins/sound.h b/engines/hopkins/sound.h index 97cdcdc1dd..1fb4f9ae71 100644 --- a/engines/hopkins/sound.h +++ b/engines/hopkins/sound.h @@ -116,7 +116,7 @@ public: ~SoundManager(); void loadAnimSound(); - void playAnimSound(int soundNumber); + void playAnimSound(int animFrame); void loadSample(int wavIndex, const Common::String &file); void playSample(int wavIndex, int voiceMode = 9); diff --git a/engines/hopkins/talk.cpp b/engines/hopkins/talk.cpp index df7b26c82c..00c4ab0332 100644 --- a/engines/hopkins/talk.cpp +++ b/engines/hopkins/talk.cpp @@ -68,7 +68,7 @@ void TalkManager::startAnimatedCharacterDialogue(const Common::String &filename) getStringFromBuffer(40, spriteFilename, (const char *)_characterBuffer); getStringFromBuffer(0, _questionsFilename, (const char *)_characterBuffer); getStringFromBuffer(20, _answersFilename, (const char *)_characterBuffer); - + switch (_vm->_globals->_language) { case LANG_FR: _answersFilename = _questionsFilename = "RUE.TXT"; |