diff options
author | Paul Gilbert | 2015-03-17 23:09:04 -0400 |
---|---|---|
committer | Paul Gilbert | 2015-03-17 23:09:04 -0400 |
commit | 62f3f5d14e391cdac0bbfe200cdde2e4773afba4 (patch) | |
tree | f8edfbab5b33112c8087c20db7f5f7ea588b7895 /engines/sherlock/scalpel/scalpel.cpp | |
parent | ec4319923452bebade836b43a912de06958315a6 (diff) | |
download | scummvm-rg350-62f3f5d14e391cdac0bbfe200cdde2e4773afba4.tar.gz scummvm-rg350-62f3f5d14e391cdac0bbfe200cdde2e4773afba4.tar.bz2 scummvm-rg350-62f3f5d14e391cdac0bbfe200cdde2e4773afba4.zip |
SHERLOCK: Remainder of showCityCutscene implemented
Diffstat (limited to 'engines/sherlock/scalpel/scalpel.cpp')
-rw-r--r-- | engines/sherlock/scalpel/scalpel.cpp | 70 |
1 files changed, 65 insertions, 5 deletions
diff --git a/engines/sherlock/scalpel/scalpel.cpp b/engines/sherlock/scalpel/scalpel.cpp index 90a93de1b1..0e5a3bec34 100644 --- a/engines/sherlock/scalpel/scalpel.cpp +++ b/engines/sherlock/scalpel/scalpel.cpp @@ -59,15 +59,75 @@ void ScalpelEngine::showOpening() { } bool ScalpelEngine::showCityCutscene() { -// byte palette[PALETTE_SIZE]; + byte palette[PALETTE_SIZE]; _sound->playMusic("prolog1.mus"); _titleOverride = "title.lib"; _soundOverride = "title.snd"; - _animation->playPrologue("26open1", 1, 255, true, 2); - - // TODO - return true; + bool finished = _animation->playPrologue("26open1", 1, 255, true, 2); + + if (finished) { + Sprite titleSprites("title2.vgs", true); + _screen->_backBuffer.blitFrom(*_screen); + _screen->_backBuffer2.blitFrom(*_screen); + + // London, England + _screen->_backBuffer.transBlitFrom(titleSprites[0], Common::Point(10, 11)); + _screen->randomTransition(); + finished = _events->delay(1000, true); + + // November, 1888 + if (finished) { + _screen->_backBuffer.transBlitFrom(titleSprites[1], Common::Point(101, 102)); + _screen->randomTransition(); + finished = _events->delay(5000, true); + } + + // Transition out the title + _screen->_backBuffer.blitFrom(_screen->_backBuffer2); + _screen->randomTransition(); + } + + if (finished) + finished = _animation->playPrologue("26open2", 1, 0, false, 2); + + if (finished) { + Sprite titleSprites("title.vgs", true); + _screen->_backBuffer.blitFrom(*_screen); + _screen->_backBuffer2.blitFrom(*_screen); + + // The Lost Files of + _screen->_backBuffer.transBlitFrom(titleSprites[0], Common::Point(75, 6)); + // Sherlock Holmes + _screen->_backBuffer.transBlitFrom(titleSprites[1], Common::Point(34, 21)); + // copyright + _screen->_backBuffer.transBlitFrom(titleSprites[2], Common::Point(4, 190)); + + _screen->verticalTransition(); + finished = _events->delay(4000, true); + + if (finished) { + _screen->_backBuffer.blitFrom(_screen->_backBuffer2); + _screen->randomTransition(); + finished = _events->delay(2000); + } + + if (finished) { + _screen->getPalette(palette); + _screen->fadeToBlack(2); + } + + if (finished) { + // In the alley... + _screen->transBlitFrom(titleSprites[3], Common::Point(72, 51)); + _screen->fadeIn(palette, 3); + finished = _events->delay(3000, true); + } + } + + _titleOverride = ""; + _soundOverride = ""; + return finished; } bool ScalpelEngine::showAlleyCutscene() { |