From 8b454a61abfb7d390d33117e5ced4448e562133e Mon Sep 17 00:00:00 2001 From: Paul Gilbert Date: Wed, 31 Aug 2016 23:18:33 -0400 Subject: TITANIC: Fix black flash at the start of view change clips --- engines/titanic/game_state.h | 3 +-- engines/titanic/support/movie.cpp | 7 ++++--- 2 files changed, 5 insertions(+), 5 deletions(-) (limited to 'engines') 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() { -- cgit v1.2.3