diff options
author | Paul Gilbert | 2016-11-12 08:12:49 -0500 |
---|---|---|
committer | Paul Gilbert | 2016-11-12 08:12:49 -0500 |
commit | b7469085b596e3d2fc330fe23ec60c76116c2ed7 (patch) | |
tree | 24a90765c5840cee93657b0cddb6f0a8cb467bc4 | |
parent | a36039f9fe896241bddc1d0015c8d6f1cfaa5039 (diff) | |
download | scummvm-rg350-b7469085b596e3d2fc330fe23ec60c76116c2ed7.tar.gz scummvm-rg350-b7469085b596e3d2fc330fe23ec60c76116c2ed7.tar.bz2 scummvm-rg350-b7469085b596e3d2fc330fe23ec60c76116c2ed7.zip |
TITANIC: Fix not being able to leave chicken dispensor
-rw-r--r-- | engines/titanic/game/chicken_dispensor.cpp | 2 | ||||
-rw-r--r-- | engines/titanic/support/avi_surface.cpp | 2 | ||||
-rw-r--r-- | engines/titanic/support/movie.cpp | 8 |
3 files changed, 5 insertions, 7 deletions
diff --git a/engines/titanic/game/chicken_dispensor.cpp b/engines/titanic/game/chicken_dispensor.cpp index 8e02a1ec5c..df1f1eb22a 100644 --- a/engines/titanic/game/chicken_dispensor.cpp +++ b/engines/titanic/game/chicken_dispensor.cpp @@ -178,7 +178,7 @@ bool CChickenDispensor::MouseDragStartMsg(CMouseDragStartMsg *msg) { } bool CChickenDispensor::TurnOff(CTurnOff *msg) { - if (getMovieFrame() == 16) + if (getMovieFrame() != 16) setVisible(false); playMovie(16, 12, MOVIE_NOTIFY_OBJECT | MOVIE_GAMESTATE); _fieldE8 = 0; diff --git a/engines/titanic/support/avi_surface.cpp b/engines/titanic/support/avi_surface.cpp index 525c6513dd..361982339d 100644 --- a/engines/titanic/support/avi_surface.cpp +++ b/engines/titanic/support/avi_surface.cpp @@ -175,7 +175,7 @@ bool AVISurface::handleEvents(CMovieEventList &events) { delete info; if (_movieRangeInfo.empty()) { - // NO more ranges, so stop playback + // No more ranges, so stop playback stop(); } else { // Not empty, so move onto new first one diff --git a/engines/titanic/support/movie.cpp b/engines/titanic/support/movie.cpp index 949ed62fca..1bdcdee6da 100644 --- a/engines/titanic/support/movie.cpp +++ b/engines/titanic/support/movie.cpp @@ -164,17 +164,15 @@ bool OSMovie::handleEvents(CMovieEventList &events) { if (!_aviSurface.isPlaying()) return false; - if (!_aviSurface.isNextFrame()) - return _aviSurface.isPlaying(); // Handle updating the frame while (_aviSurface.isPlaying() && _aviSurface.isNextFrame()) { _aviSurface.handleEvents(events); _videoSurface->setTransparencySurface(_aviSurface.getSecondarySurface()); - } - // Flag there's a video frame - _hasVideoFrame = true; + // Flag there's a video frame + _hasVideoFrame = true; + } return _aviSurface.isPlaying(); } |