diff options
author | Torbjörn Andersson | 2015-06-14 22:51:39 +0200 |
---|---|---|
committer | Torbjörn Andersson | 2015-06-14 22:52:41 +0200 |
commit | 8ed2e75256a3bdf1b11a3d6296da3f1346a689a9 (patch) | |
tree | 7e65b6ea4f5baf87c15a22442b37ad4bd2bd01b1 /engines | |
parent | d63b1444f28f87e2fc611075570d7f4a7a6a0e07 (diff) | |
download | scummvm-rg350-8ed2e75256a3bdf1b11a3d6296da3f1346a689a9.tar.gz scummvm-rg350-8ed2e75256a3bdf1b11a3d6296da3f1346a689a9.tar.bz2 scummvm-rg350-8ed2e75256a3bdf1b11a3d6296da3f1346a689a9.zip |
SHERLOCK: Roll credits for 3DO Serrated Scalpel
There's a missing "brighten the image" effect, and the speed of
the scrolling text may need some tuning. But it's a start.
Diffstat (limited to 'engines')
-rw-r--r-- | engines/sherlock/scalpel/scalpel.cpp | 23 |
1 files changed, 23 insertions, 0 deletions
diff --git a/engines/sherlock/scalpel/scalpel.cpp b/engines/sherlock/scalpel/scalpel.cpp index 130d1b3125..5268f7d2f8 100644 --- a/engines/sherlock/scalpel/scalpel.cpp +++ b/engines/sherlock/scalpel/scalpel.cpp @@ -775,6 +775,29 @@ bool ScalpelEngine::showOfficeCutscene3DO() { if (finished) finished = _animation->play3DO("COFF4", true, 1, false, 3); + if (finished) { + finished = _music->waitUntilMSec(244500, 0, 0, 500); + + // TODO: Brighten the image, possibly by doing a partial fade + // to white. + + _screen->_backBuffer1.blitFrom(*_screen); + + for (int nr = 1; finished && nr <= 4; nr++) { + char filename[15]; + sprintf(filename, "credits%d.cel", nr); + ImageFile3DO *creditsImage = new ImageFile3DO(filename, kImageFile3DOType_Cel); + ImageFrame *creditsFrame = &(*creditsImage)[0]; + for (int i = 0; finished && i < 200 + creditsFrame->_height; i++) { + _screen->blitFrom(_screen->_backBuffer1); + _screen->transBlitFrom(creditsFrame->_frame, Common::Point((320 - creditsFrame->_width) / 2, 200 - i)); + if (!_events->delay(80, true)) + finished = false; + } + delete creditsImage; + } + } + return finished; } |