[Scummvm-git-logs] scummvm master -> 69ffcba521364919f36a3b5ed994f10242fad4ce

sev- sev at scummvm.org
Sun Feb 9 17:59:36 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:
69ffcba521 DIRECTOR: Fix processing channels


Commit: 69ffcba521364919f36a3b5ed994f10242fad4ce
    https://github.com/scummvm/scummvm/commit/69ffcba521364919f36a3b5ed994f10242fad4ce
Author: Eugene Sandulenko (sev at scummvm.org)
Date: 2020-02-09T18:55:23+01:00

Commit Message:
DIRECTOR: Fix processing channels

Changed paths:
    engines/director/frame.cpp
    engines/director/lingo/lingo-events.cpp
    engines/director/lingo/lingo.cpp


diff --git a/engines/director/frame.cpp b/engines/director/frame.cpp
index eb135d2..732a9ef 100644
--- a/engines/director/frame.cpp
+++ b/engines/director/frame.cpp
@@ -87,7 +87,7 @@ Frame::Frame(const Frame &frame) {
 
 	_sprites.resize(_numChannels + 1);
 
-	for (uint16 i = 0; i < _numChannels + 1; i++) {
+	for (uint16 i = 0; i <= _numChannels; i++) {
 		_sprites[i] = new Sprite(*frame._sprites[i]);
 	}
 }
@@ -581,7 +581,7 @@ void Frame::playTransition(Score *score) {
 }
 
 void Frame::renderSprites(Graphics::ManagedSurface &surface, bool renderTrail) {
-	for (uint16 i = 0; i < _numChannels; i++) {
+	for (uint16 i = 0; i <= _numChannels; i++) {
 		if (!_sprites[i]->_enabled)
 			continue;
 
diff --git a/engines/director/lingo/lingo-events.cpp b/engines/director/lingo/lingo-events.cpp
index 79aa68b..b9aae88 100644
--- a/engines/director/lingo/lingo-events.cpp
+++ b/engines/director/lingo/lingo-events.cpp
@@ -258,7 +258,7 @@ void Lingo::processSpriteEvent(LEvent event) {
 	Frame *currentFrame = score->_frames[score->getCurrentFrame()];
 	if (event == kEventBeginSprite) {
 		// TODO: Check if this is also possibly a kSpriteScript?
-		for (uint16 i = 0; i < score->_numChannelsDisplayed; i++)
+		for (uint16 i = 0; i <= score->_numChannelsDisplayed; i++)
 			if (currentFrame->_sprites[i]->_enabled)
 				processEvent(event, kCastScript, currentFrame->_sprites[i]->_scriptId);
 
diff --git a/engines/director/lingo/lingo.cpp b/engines/director/lingo/lingo.cpp
index c58a7ab..37b07a1 100644
--- a/engines/director/lingo/lingo.cpp
+++ b/engines/director/lingo/lingo.cpp
@@ -601,7 +601,7 @@ void Lingo::runTests() {
 }
 
 void Lingo::executeImmediateScripts(Frame *frame) {
-	for (uint16 i = 0; i < _vm->getCurrentScore()->_numChannelsDisplayed; i++) {
+	for (uint16 i = 0; i <= _vm->getCurrentScore()->_numChannelsDisplayed; i++) {
 		if (_vm->getCurrentScore()->_immediateActions.contains(frame->_sprites[i]->_scriptId)) {
 			g_lingo->processEvent(kEventMouseUp, kFrameScript, frame->_sprites[i]->_scriptId);
 		}




More information about the Scummvm-git-logs mailing list