From 0a044b21df94b602c08c59fb757ce11f917ba873 Mon Sep 17 00:00:00 2001 From: Eugene Sandulenko Date: Wed, 8 Mar 2017 18:37:16 +0100 Subject: DIRECTOR: Fix event mouse event processing in D3 --- engines/director/score.cpp | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) (limited to 'engines') 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); } } -- cgit v1.2.3