aboutsummaryrefslogtreecommitdiff
path: root/engines/kyra/sequences_lol.cpp
diff options
context:
space:
mode:
authorFlorian Kagerer2009-06-01 13:37:51 +0000
committerFlorian Kagerer2009-06-01 13:37:51 +0000
commit660aa716625866ae3a9db2a001ed3af6e108caaf (patch)
treea079923c21dfbd823b4e12f4e290f93360cf047c /engines/kyra/sequences_lol.cpp
parent18f5ef823452d4a1f4b00961504c04d41c7abe82 (diff)
downloadscummvm-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.cpp10
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);