Skip to content

Commit

Permalink
SHERLOCK: 3DO: Fix introduction
Browse files Browse the repository at this point in the history
  • Loading branch information
dreammaster committed Sep 14, 2015
1 parent fc7df50 commit e9efe9a
Show file tree
Hide file tree
Showing 2 changed files with 8 additions and 13 deletions.
9 changes: 3 additions & 6 deletions engines/sherlock/animation.cpp
Expand Up @@ -201,12 +201,9 @@ bool Animation::play3DO(const Common::String &filename, bool intro, int minDelay

// Draw the sprite. Note that we explicitly use the raw frame below, rather than the ImageFrame,
// since we don't want the offsets in the image file to be used, just the explicit position we specify
if (!fadeActive) {
screen.transBlitFrom(images[imageFrame]._frame, pt);
} else {
// Fade active, blit to backbuffer1
screen._backBuffer1.transBlitFrom(images[imageFrame]._frame, pt);
}
screen._backBuffer1.transBlitFrom(images[imageFrame]._frame, pt);
if (!fadeActive)
screen.slamArea(pt.x, pt.y, images[imageFrame]._frame.w, images[imageFrame]._frame.h);
} else {
// At this point, either the sprites for the frame has been complete, or there weren't any sprites
// at all to draw for the frame
Expand Down
12 changes: 5 additions & 7 deletions engines/sherlock/scalpel/scalpel.cpp
Expand Up @@ -714,8 +714,7 @@ bool ScalpelEngine::showCityCutscene3DO() {
}

if (finished) {
screen._backBuffer1.blitFrom(*_screen); // save into backbuffer 1, used for fade
screen._backBuffer2.blitFrom(*_screen); // save into backbuffer 2, for restoring later
screen._backBuffer2.blitFrom(screen._backBuffer1);

// "London, England"
ImageFile3DO titleImage_London("title2a.cel", kImageFile3DOType_Cel);
Expand All @@ -735,16 +734,15 @@ bool ScalpelEngine::showCityCutscene3DO() {

if (finished) {
// Restore screen
_screen->blitFrom(_screen->_backBuffer2);
_screen->_backBuffer1.blitFrom(screen._backBuffer2);
_screen->blitFrom(screen._backBuffer1);
}
}

if (finished)
finished = _animation->play3DO("26open2", true, 1, false, 2);

if (finished) {
screen._backBuffer1.blitFrom(screen); // save into backbuffer 1, used for fade

// "Sherlock Holmes" (title)
ImageFile3DO titleImage_SherlockHolmesTitle("title1ab.cel", kImageFile3DOType_Cel);
screen._backBuffer1.transBlitFrom(titleImage_SherlockHolmesTitle[0]._frame, Common::Point(34, 5));
Expand Down Expand Up @@ -931,15 +929,15 @@ bool ScalpelEngine::showOfficeCutscene3DO() {
// TODO: Brighten the image, possibly by doing a partial fade
// to white.

_screen->_backBuffer1.blitFrom(*_screen);
_screen->_backBuffer2.blitFrom(_screen->_backBuffer1);

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->blitFrom(_screen->_backBuffer2);
_screen->transBlitFrom(creditsFrame->_frame, Common::Point((320 - creditsFrame->_width) / 2, 200 - i));
if (!_events->delay(70, true))
finished = false;
Expand Down

0 comments on commit e9efe9a

Please sign in to comment.