diff options
author | Sven Hesse | 2007-06-09 13:32:31 +0000 |
---|---|---|
committer | Sven Hesse | 2007-06-09 13:32:31 +0000 |
commit | ac0c3802689f5bab86f70df64bdcbdb6aa2235f3 (patch) | |
tree | ac82f7efd14c698bb55d241e4f4771b3d6e1fc4c /engines | |
parent | 1243fc11451c5ef30fefb12887ba32a9a9481233 (diff) | |
download | scummvm-rg350-ac0c3802689f5bab86f70df64bdcbdb6aa2235f3.tar.gz scummvm-rg350-ac0c3802689f5bab86f70df64bdcbdb6aa2235f3.tar.bz2 scummvm-rg350-ac0c3802689f5bab86f70df64bdcbdb6aa2235f3.zip |
Fixing scrolling issue in "IDOL"-screen (bug #1734007)
svn-id: r27248
Diffstat (limited to 'engines')
-rw-r--r-- | engines/gob/mult_v2.cpp | 10 |
1 files changed, 9 insertions, 1 deletions
diff --git a/engines/gob/mult_v2.cpp b/engines/gob/mult_v2.cpp index 38810e8c05..f57d5ecb0c 100644 --- a/engines/gob/mult_v2.cpp +++ b/engines/gob/mult_v2.cpp @@ -1044,12 +1044,15 @@ void Mult_v2::playImd(const char *imdFile, Mult::Mult_ImdKey &key, int16 dir, if ((palFrame != -1) && (lastFrame != -1)) if ((lastFrame - palFrame) < startFrame) if (!(key.flags & 0x4000)) { + _vm->_game->_preventScroll = false; _vm->_imdPlayer->closeImd(); return; } - if (!_vm->_imdPlayer->openImd(imdFile, x, y, 0, flags)) + if (!_vm->_imdPlayer->openImd(imdFile, x, y, 0, flags)) { + _vm->_game->_preventScroll = false; return; + } if (palFrame == -1) palFrame = 0; @@ -1064,6 +1067,7 @@ void Mult_v2::playImd(const char *imdFile, Mult::Mult_ImdKey &key, int16 dir, void Mult_v2::advanceObjects(int16 index) { int16 frame; bool stop = false; + bool hasImds = false; frame = _multData->animKeysFrames[index]; if (frame == -1) @@ -1165,10 +1169,14 @@ void Mult_v2::advanceObjects(int16 index) { if ((dir != 1) && (--startFrame > 0)) startFrame = 0; + hasImds = true; playImd(imdFile, key, dir, startFrame); } } + if (!hasImds && (_vm->_draw->_showCursor == 3)) + _vm->_game->_preventScroll = false; + doSoundAnim(stop, frame); WRITE_VAR(22, frame); |