[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