diff options
author | Eugene Sandulenko | 2019-12-29 00:35:37 +0100 |
---|---|---|
committer | Eugene Sandulenko | 2019-12-29 00:51:16 +0100 |
commit | cd7da28a9717703db608d93667d1be5aa8d5eab2 (patch) | |
tree | 19455b1f9d6ab1194a66e6ce2b818bd08604a020 | |
parent | cb497e3620321f67563c85d5ce83e5446a49ce3b (diff) | |
download | scummvm-rg350-cd7da28a9717703db608d93667d1be5aa8d5eab2.tar.gz scummvm-rg350-cd7da28a9717703db608d93667d1be5aa8d5eab2.tar.bz2 scummvm-rg350-cd7da28a9717703db608d93667d1be5aa8d5eab2.zip |
DIRECTOR: Track when mouse is down
-rw-r--r-- | engines/director/events.cpp | 4 | ||||
-rw-r--r-- | engines/director/score.cpp | 1 | ||||
-rw-r--r-- | engines/director/score.h | 1 |
3 files changed, 6 insertions, 0 deletions
diff --git a/engines/director/events.cpp b/engines/director/events.cpp index a9b10f133d..793a6f8d82 100644 --- a/engines/director/events.cpp +++ b/engines/director/events.cpp @@ -74,6 +74,8 @@ void DirectorEngine::processEvents() { spriteId = currentFrame->getSpriteIDFromPos(pos); sc->_currentMouseDownSpriteId = spriteId; + sc->_mouseIsDown = true; + debugC(3, kDebugEvents, "event: Button Down @(%d, %d), sprite id: %d", pos.x, pos.y, spriteId); _lingo->processEvent(kEventMouseDown); @@ -89,6 +91,8 @@ void DirectorEngine::processEvents() { debugC(3, kDebugEvents, "event: Button Up @(%d, %d), sprite id: %d", pos.x, pos.y, spriteId); + sc->_mouseIsDown = false; + _lingo->processEvent(kEventMouseUp); sc->_currentMouseDownSpriteId = 0; break; diff --git a/engines/director/score.cpp b/engines/director/score.cpp index 94d80d1566..37f2dfdded 100644 --- a/engines/director/score.cpp +++ b/engines/director/score.cpp @@ -72,6 +72,7 @@ Score::Score(DirectorEngine *vm) { _lingo = _vm->getLingo(); _soundManager = _vm->getSoundManager(); _currentMouseDownSpriteId = 0; + _mouseIsDown = false; // FIXME: TODO: Check whether the original truely does it if (_vm->getVersion() <= 3) { diff --git a/engines/director/score.h b/engines/director/score.h index 087da9b7a9..39e126ed30 100644 --- a/engines/director/score.h +++ b/engines/director/score.h @@ -137,6 +137,7 @@ public: Archive *_movieArchive; Common::Rect _movieRect; uint16 _currentMouseDownSpriteId; + bool _mouseIsDown; bool _stopPlay; uint32 _nextFrameTime; |