aboutsummaryrefslogtreecommitdiff
path: root/engines/director
diff options
context:
space:
mode:
authorEugene Sandulenko2017-03-08 18:37:16 +0100
committerEugene Sandulenko2017-03-08 18:37:16 +0100
commit0a044b21df94b602c08c59fb757ce11f917ba873 (patch)
tree506e9c401eb014d7c2a0bddaa4a0b617dc52513d /engines/director
parent6a96a062c732963bcacfcdb3253e8f18bda80502 (diff)
downloadscummvm-rg350-0a044b21df94b602c08c59fb757ce11f917ba873.tar.gz
scummvm-rg350-0a044b21df94b602c08c59fb757ce11f917ba873.tar.bz2
scummvm-rg350-0a044b21df94b602c08c59fb757ce11f917ba873.zip
DIRECTOR: Fix event mouse event processing in D3
Diffstat (limited to 'engines/director')
-rw-r--r--engines/director/score.cpp8
1 files changed, 5 insertions, 3 deletions
diff --git a/engines/director/score.cpp b/engines/director/score.cpp
index 112e4b2fcb..e8e8b81452 100644
--- a/engines/director/score.cpp
+++ b/engines/director/score.cpp
@@ -1012,9 +1012,11 @@ void Score::processEvents() {
_lingo->processEvent(kEventMouseUp, kCastScript, _frames[_currentFrame]->_sprites[spriteId]->_castId);
_lingo->processEvent(kEventMouseUp, kSpriteScript, _frames[_currentFrame]->_sprites[spriteId]->_scriptId);
} else {
- // D3 doesn't have cast member or sprite scripts. Just Frame Scripts.
- _lingo->processEvent(kEventMouseUp, kSpriteScript, _frames[_currentFrame]->_sprites[spriteId]->_castId + 1024);
- _lingo->processEvent(kEventMouseUp, kFrameScript, _frames[_currentFrame]->_sprites[spriteId]->_scriptId);
+ // Frame script overrides sprite script
+ if (!_frames[_currentFrame]->_sprites[spriteId]->_scriptId)
+ _lingo->processEvent(kEventMouseUp, kSpriteScript, _frames[_currentFrame]->_sprites[spriteId]->_castId + 1024);
+ else
+ _lingo->processEvent(kEventMouseUp, kFrameScript, _frames[_currentFrame]->_sprites[spriteId]->_scriptId);
}
}