[Scummvm-git-logs] scummvm master -> 1fd14092bd60eca9bdf06dba133b081e7ec2194e

sev- sev at scummvm.org
Tue Mar 24 00:56:50 UTC 2020


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:
1fd14092bd DIRECTOR: Implement kTransCenterOutVertical


Commit: 1fd14092bd60eca9bdf06dba133b081e7ec2194e
    https://github.com/scummvm/scummvm/commit/1fd14092bd60eca9bdf06dba133b081e7ec2194e
Author: Eugene Sandulenko (sev at scummvm.org)
Date: 2020-03-24T01:56:23+01:00

Commit Message:
DIRECTOR: Implement kTransCenterOutVertical

Changed paths:
    engines/director/transitions.cpp


diff --git a/engines/director/transitions.cpp b/engines/director/transitions.cpp
index 536877cc95..88663ae9b4 100644
--- a/engines/director/transitions.cpp
+++ b/engines/director/transitions.cpp
@@ -47,8 +47,6 @@ void Frame::playTransition(Score *score) {
 			uint16 stepSize = score->_movieRect.width() / steps / 2;
 			Common::Rect r = score->_movieRect;
 
-			 score->_backSurface->copyFrom(*score->_surface);
-
 			for (uint16 i = 1; i < steps; i++) {
 				r.setWidth(stepSize * i * 2);
 				r.moveTo(score->_movieRect.width() / 2 - stepSize * i, 0);
@@ -66,7 +64,21 @@ void Frame::playTransition(Score *score) {
 
 	case kTransCenterOutVertical: // 7
 		{
-			warning("Frame::playTransition(): Unhandled transition type kTransCenterOutVertical %d %d", duration, _transChunkSize);
+			uint16 stepSize = score->_movieRect.height() / steps / 2;
+			Common::Rect r = score->_movieRect;
+
+			for (uint16 i = 1; i < steps; i++) {
+				r.setHeight(stepSize * i * 2);
+				r.moveTo(0, score->_movieRect.height() / 2 - stepSize * i);
+
+				g_system->delayMillis(stepDuration * 20);
+				processQuitEvent();
+
+				score->_backSurface->copyRectToSurface(*score->_surface, 0, 0, r);
+
+				g_system->copyRectToScreen(score->_backSurface->getPixels(), score->_backSurface->pitch, 0, score->_movieRect.height() / 2 - stepSize * i, r.width(), r.height()); // transition
+				g_system->updateScreen();
+			}
 		}
 		break;
 




More information about the Scummvm-git-logs mailing list