aboutsummaryrefslogtreecommitdiff
path: root/engines
diff options
context:
space:
mode:
authorTorbjörn Andersson2015-06-14 22:51:39 +0200
committerTorbjörn Andersson2015-06-14 22:52:41 +0200
commit8ed2e75256a3bdf1b11a3d6296da3f1346a689a9 (patch)
tree7e65b6ea4f5baf87c15a22442b37ad4bd2bd01b1 /engines
parentd63b1444f28f87e2fc611075570d7f4a7a6a0e07 (diff)
downloadscummvm-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.cpp23
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;
}