diff options
author | Travis Howell | 2004-01-28 04:11:06 +0000 |
---|---|---|
committer | Travis Howell | 2004-01-28 04:11:06 +0000 |
commit | 96e0a747f9ce7d9abf4409967d7af2a8c6de5080 (patch) | |
tree | ec38c14cec83f8fac985f05c15848872c73876e2 | |
parent | ece80a4a1f82abcef5c5aa0c12f665a89d7c85e2 (diff) | |
download | scummvm-rg350-96e0a747f9ce7d9abf4409967d7af2a8c6de5080.tar.gz scummvm-rg350-96e0a747f9ce7d9abf4409967d7af2a8c6de5080.tar.bz2 scummvm-rg350-96e0a747f9ce7d9abf4409967d7af2a8c6de5080.zip |
Add fix from eriktorbjorn to make sure screen is always updated during cutscnes.
svn-id: r12654
-rw-r--r-- | sword1/animation.cpp | 14 |
1 files changed, 12 insertions, 2 deletions
diff --git a/sword1/animation.cpp b/sword1/animation.cpp index 9c0661ee2d..4f3fa9df69 100644 --- a/sword1/animation.cpp +++ b/sword1/animation.cpp @@ -307,6 +307,16 @@ bool AnimationState::decodeFrame() { * dropping frames if we run behind and delaying if we are too fast */ + /* FIXME: We shouldn't use delay_msecs() here. + * We should use something like the delay() + * function in SwordEngine, so that events are + * handled properly. For now, at least call the + * backend's event handler so that redraw + * events are processed. + */ + + OSystem::Event event; + #ifdef BACKEND_8BIT if (checkPaletteSwitch() || (bgSoundStream == NULL) || (bgSoundStream->getSamplesPlayed()*12/bgSoundStream->getRate()) < (framenum+3)){ @@ -320,8 +330,7 @@ bool AnimationState::decodeFrame() { while (_sys->get_msecs() < ticks) _sys->delay_msecs(10); } - - + _sys->poll_event(&event); } else warning("dropped frame %i", framenum); @@ -341,6 +350,7 @@ bool AnimationState::decodeFrame() { while (_sys->get_msecs() < ticks) _sys->delay_msecs(10); } + _sys->poll_event(&event); } else warning("dropped frame %i", framenum); |