aboutsummaryrefslogtreecommitdiff
path: root/engines
diff options
context:
space:
mode:
authorSven Hesse2007-06-09 13:32:31 +0000
committerSven Hesse2007-06-09 13:32:31 +0000
commitac0c3802689f5bab86f70df64bdcbdb6aa2235f3 (patch)
treeac82f7efd14c698bb55d241e4f4771b3d6e1fc4c /engines
parent1243fc11451c5ef30fefb12887ba32a9a9481233 (diff)
downloadscummvm-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.cpp10
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);