aboutsummaryrefslogtreecommitdiff
path: root/engines
diff options
context:
space:
mode:
authorPaul Gilbert2016-08-31 23:18:33 -0400
committerPaul Gilbert2016-08-31 23:18:33 -0400
commit8b454a61abfb7d390d33117e5ced4448e562133e (patch)
tree88203025353f444ffc909a05b75d22d85cdd3e95 /engines
parent2e9c21cd84f47c51ebe8a847f2e4c359a106c751 (diff)
downloadscummvm-rg350-8b454a61abfb7d390d33117e5ced4448e562133e.tar.gz
scummvm-rg350-8b454a61abfb7d390d33117e5ced4448e562133e.tar.bz2
scummvm-rg350-8b454a61abfb7d390d33117e5ced4448e562133e.zip
TITANIC: Fix black flash at the start of view change clips
Diffstat (limited to 'engines')
-rw-r--r--engines/titanic/game_state.h3
-rw-r--r--engines/titanic/support/movie.cpp7
2 files changed, 5 insertions, 5 deletions
diff --git a/engines/titanic/game_state.h b/engines/titanic/game_state.h
index 9ccf7b29a6..70d47b55c1 100644
--- a/engines/titanic/game_state.h
+++ b/engines/titanic/game_state.h
@@ -35,8 +35,7 @@ class CGameManager;
enum GameStateMode {
GSMODE_NONE = 0, GSMODE_INTERACTIVE = 1, GSMODE_CUTSCENE = 2,
- GSMODE_3 = 3, GSMODE_4 = 4, GSMODE_INSERT_CD = 5, GSMODE_CLIP = 6,
- GSMODE_PENDING_LOAD = 7
+ GSMODE_3 = 3, GSMODE_4 = 4, GSMODE_INSERT_CD = 5, GSMODE_PENDING_LOAD = 6
};
enum Season {
diff --git a/engines/titanic/support/movie.cpp b/engines/titanic/support/movie.cpp
index 647b24dda4..e863185f84 100644
--- a/engines/titanic/support/movie.cpp
+++ b/engines/titanic/support/movie.cpp
@@ -133,13 +133,14 @@ void OSMovie::playCutscene(const Rect &drawRect, uint startFrame, uint endFrame)
drawRect.top + (heightLess ? CLIP_HEIGHT_REDUCED : CLIP_HEIGHT)
);
- CGameState &gameState = g_vm->_window->_gameManager->_gameState;
- gameState.setMode(GSMODE_CLIP);
+ // Set a new event target whilst the clip plays, so standard scene drawing isn't called
+ CEventTarget eventTarget;
+ g_vm->_events->addTarget(&eventTarget);
_aviSurface.setFrame(startFrame);
_aviSurface.playCutscene(r, startFrame, endFrame);
- gameState.setMode(GSMODE_INTERACTIVE);
+ g_vm->_events->removeTarget();
}
void OSMovie::stop() {