[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