[Scummvm-git-logs] scummvm master -> f305daf4576e6c6601b48ceae196366ca72a9aa1

npjg nathanael.gentrydb8 at gmail.com
Fri Jun 19 03:18:15 UTC 2020


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

Summary:
07be3d5e14 DIRECTOR: Don't choke on unreasonable constraint
f305daf457 DIRECTOR: Ensure start points are set correctly


Commit: 07be3d5e14614cfe644648b922717c06a9416e5b
    https://github.com/scummvm/scummvm/commit/07be3d5e14614cfe644648b922717c06a9416e5b
Author: Nathanael Gentry (nathanael.gentrydb8 at gmail.com)
Date: 2020-06-18T23:18:09-04:00

Commit Message:
DIRECTOR: Don't choke on unreasonable constraint

Changed paths:
    engines/director/score.cpp


diff --git a/engines/director/score.cpp b/engines/director/score.cpp
index b843c4b314..ab562c682c 100644
--- a/engines/director/score.cpp
+++ b/engines/director/score.cpp
@@ -65,7 +65,10 @@ void Channel::updateLocation() {
 }
 
 void Channel::addDelta(Common::Point pos) {
-	if (_sprite->_moveable && _constraint > 0) {
+	if (_constraint > g_director->getCurrentScore()->_channels.size() - 1) {
+		warning("Channel::addDelta: Received out-of-bounds constraint: %d", _constraint);
+		_constraint = 0;
+	} else if (_sprite->_moveable && _constraint > 0) {
 		Common::Rect constraintBbox = g_director->getCurrentScore()->_channels[_constraint]->getBbox();
 
 		Common::Rect currentBbox = getBbox();


Commit: f305daf4576e6c6601b48ceae196366ca72a9aa1
    https://github.com/scummvm/scummvm/commit/f305daf4576e6c6601b48ceae196366ca72a9aa1
Author: Nathanael Gentry (nathanael.gentrydb8 at gmail.com)
Date: 2020-06-18T23:18:09-04:00

Commit Message:
DIRECTOR: Ensure start points are set correctly

Changed paths:
    engines/director/score.cpp


diff --git a/engines/director/score.cpp b/engines/director/score.cpp
index ab562c682c..920d8e0c4e 100644
--- a/engines/director/score.cpp
+++ b/engines/director/score.cpp
@@ -581,6 +581,10 @@ void Score::renderFrame(uint16 frameId, bool forceUpdate, bool updateStageOnly)
 			unrenderSprite(i);
 
 		channel->_sprite = nextSprite;
+
+		if (currentSprite->_castId == 0 && nextSprite->_castId != 0)
+			channel->resetPosition();
+
 		channel->updateLocation();
 	}
 




More information about the Scummvm-git-logs mailing list