[Scummvm-git-logs] scummvm master -> 979a8d1b78d2bec8dc5c5ee8fe092baf2289349f

sev- sev at scummvm.org
Tue Mar 24 00:48:21 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:
979a8d1b78 DIRECTOR: Implement kTransCenterOutHorizontal


Commit: 979a8d1b78d2bec8dc5c5ee8fe092baf2289349f
    https://github.com/scummvm/scummvm/commit/979a8d1b78d2bec8dc5c5ee8fe092baf2289349f
Author: Eugene Sandulenko (sev at scummvm.org)
Date: 2020-03-24T01:47:49+01:00

Commit Message:
DIRECTOR: Implement kTransCenterOutHorizontal

Changed paths:
    engines/director/transitions.cpp


diff --git a/engines/director/transitions.cpp b/engines/director/transitions.cpp
index 721ffd545c..536877cc95 100644
--- a/engines/director/transitions.cpp
+++ b/engines/director/transitions.cpp
@@ -44,7 +44,23 @@ void Frame::playTransition(Score *score) {
 	switch (_transType) {
 	case kTransCenterOutHorizontal: // 5
 		{
-			warning("Frame::playTransition(): Unhandled transition type kTransCenterOutHorizontal %d %d", duration, _transChunkSize);
+			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);
+
+				g_system->delayMillis(stepDuration);
+				processQuitEvent();
+
+				score->_backSurface->copyRectToSurface(*score->_surface, 0, 0, r);
+
+				g_system->copyRectToScreen(score->_backSurface->getPixels(), score->_backSurface->pitch, score->_movieRect.width() / 2 - stepSize * i, 0, r.width(), r.height()); // transition
+				g_system->updateScreen();
+			}
 		}
 		break;
 




More information about the Scummvm-git-logs mailing list