diff options
author | Bastien Bouclet | 2012-12-15 11:49:41 +0100 |
---|---|---|
committer | Bastien Bouclet | 2012-12-16 06:54:13 +0100 |
commit | 07ee25c87df1aa7599664ec97ea5fb277b0c4f89 (patch) | |
tree | 345e4437d5979635ec5dbec8d6d2730cd65a18fd /engines/mohawk/myst.cpp | |
parent | 0358a44738f1f1567156dc8e90025dd89414605f (diff) | |
download | scummvm-rg350-07ee25c87df1aa7599664ec97ea5fb277b0c4f89.tar.gz scummvm-rg350-07ee25c87df1aa7599664ec97ea5fb277b0c4f89.tar.bz2 scummvm-rg350-07ee25c87df1aa7599664ec97ea5fb277b0c4f89.zip |
MOHAWK: Implement most of Myst's transition system
Diffstat (limited to 'engines/mohawk/myst.cpp')
-rw-r--r-- | engines/mohawk/myst.cpp | 12 |
1 files changed, 7 insertions, 5 deletions
diff --git a/engines/mohawk/myst.cpp b/engines/mohawk/myst.cpp index 9c0e642203..380bf3bae5 100644 --- a/engines/mohawk/myst.cpp +++ b/engines/mohawk/myst.cpp @@ -523,7 +523,7 @@ void MohawkEngine_Myst::changeToStack(uint16 stack, uint16 card, uint16 linkSrcS _video->playMovieBlockingCentered(wrapMovieFilename(flyby, kMasterpieceOnly)); } - changeToCard(card, true); + changeToCard(card, kTransitionCopy); if (linkDstSound) _sound->playSoundBlocking(linkDstSound); @@ -549,7 +549,7 @@ void MohawkEngine_Myst::drawCardBackground() { _gfx->copyImageToBackBuffer(getCardBackgroundId(), Common::Rect(0, 0, 544, 332)); } -void MohawkEngine_Myst::changeToCard(uint16 card, bool updateScreen) { +void MohawkEngine_Myst::changeToCard(uint16 card, TransitionType transition) { debug(2, "changeToCard(%d)", card); _scriptParser->disablePersistentScripts(); @@ -629,9 +629,11 @@ void MohawkEngine_Myst::changeToCard(uint16 card, bool updateScreen) { } // Make sure the screen is updated - if (updateScreen) { - _gfx->copyBackBufferToScreen(Common::Rect(544, 333)); - _system->updateScreen(); + if (transition != kNoTransition) { + if (!_gameState->_globals.transitions) + transition = kTransitionCopy; + + _gfx->runTransition(transition, Common::Rect(544, 333), 10, 0); } // Make sure we have the right cursor showing |