diff options
author | Florian Kagerer | 2009-06-01 13:37:51 +0000 |
---|---|---|
committer | Florian Kagerer | 2009-06-01 13:37:51 +0000 |
commit | 660aa716625866ae3a9db2a001ed3af6e108caaf (patch) | |
tree | a079923c21dfbd823b4e12f4e290f93360cf047c /engines/kyra/sequences_lol.cpp | |
parent | 18f5ef823452d4a1f4b00961504c04d41c7abe82 (diff) | |
download | scummvm-rg350-660aa716625866ae3a9db2a001ed3af6e108caaf.tar.gz scummvm-rg350-660aa716625866ae3a9db2a001ed3af6e108caaf.tar.bz2 scummvm-rg350-660aa716625866ae3a9db2a001ed3af6e108caaf.zip |
LOL: - extended text displayer and added one more opcode
svn-id: r41100
Diffstat (limited to 'engines/kyra/sequences_lol.cpp')
-rw-r--r-- | engines/kyra/sequences_lol.cpp | 10 |
1 files changed, 7 insertions, 3 deletions
diff --git a/engines/kyra/sequences_lol.cpp b/engines/kyra/sequences_lol.cpp index 3cb203998a..1f5a2c35ec 100644 --- a/engines/kyra/sequences_lol.cpp +++ b/engines/kyra/sequences_lol.cpp @@ -578,15 +578,16 @@ int LoLEngine::selectionCharInfo(int character) { void LoLEngine::selectionCharInfoIntro(char *file) { int index = 0; file[4] = '0'; + bool processAnim = true; while (_charSelectionInfoResult == -1 && !shouldQuit()) { - if (!_sound->isVoicePresent(file)) + if (_speechFlag && !_sound->isVoicePresent(file)) break; _sound->voicePlay(file, &_speechHandle); int i = 0; - while (_sound->voiceIsPlaying(&_speechHandle) && _charSelectionInfoResult == -1 && !shouldQuit()) { + while ((!_speechFlag || (_speechFlag && _sound->voiceIsPlaying(&_speechHandle))) && _charSelectionInfoResult == -1 && !shouldQuit()) { _screen->drawShape(0, _screen->getPtrToShape(_screen->getCPagePtr(9), _charInfoFrameTable[i]), 11, 130, 0, 0); _screen->updateScreen(); @@ -596,7 +597,10 @@ void LoLEngine::selectionCharInfoIntro(char *file) { _system->delayMillis(10); } - i = (i + 1) % 32; + if (_speechFlag || processAnim) + i = (i + 1) % 32; + if (i == 0) + processAnim = false; } _sound->voiceStop(&_speechHandle); |