[Scummvm-cvs-logs] scummvm master -> e9efe9ab9065d43dcd55dbcebeb1c9b959200c61

dreammaster dreammaster at scummvm.org
Tue Sep 15 01:55:20 CEST 2015


This automated email contains information about 1 new commit which have been
pushed to the 'scummvm' repo located at https://github.com/scummvm/scummvm .

Summary:
e9efe9ab90 SHERLOCK: 3DO: Fix introduction


Commit: e9efe9ab9065d43dcd55dbcebeb1c9b959200c61
    https://github.com/scummvm/scummvm/commit/e9efe9ab9065d43dcd55dbcebeb1c9b959200c61
Author: Paul Gilbert (dreammaster at scummvm.org)
Date: 2015-09-14T19:54:47-04:00

Commit Message:
SHERLOCK: 3DO: Fix introduction

Changed paths:
    engines/sherlock/animation.cpp
    engines/sherlock/scalpel/scalpel.cpp



diff --git a/engines/sherlock/animation.cpp b/engines/sherlock/animation.cpp
index 468d61a..681e71d 100644
--- a/engines/sherlock/animation.cpp
+++ b/engines/sherlock/animation.cpp
@@ -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
diff --git a/engines/sherlock/scalpel/scalpel.cpp b/engines/sherlock/scalpel/scalpel.cpp
index a76b73e..a169b90 100644
--- a/engines/sherlock/scalpel/scalpel.cpp
+++ b/engines/sherlock/scalpel/scalpel.cpp
@@ -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);
@@ -735,7 +734,8 @@ bool ScalpelEngine::showCityCutscene3DO() {
 
 		if (finished) {
 			// Restore screen
-			_screen->blitFrom(_screen->_backBuffer2);
+			_screen->_backBuffer1.blitFrom(screen._backBuffer2);
+			_screen->blitFrom(screen._backBuffer1);
 		}
 	}
 
@@ -743,8 +743,6 @@ bool ScalpelEngine::showCityCutscene3DO() {
 		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));
@@ -931,7 +929,7 @@ 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];
@@ -939,7 +937,7 @@ bool ScalpelEngine::showOfficeCutscene3DO() {
 			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;






More information about the Scummvm-git-logs mailing list