diff options
author | Tobia Tesan | 2017-06-21 00:47:54 +0200 |
---|---|---|
committer | Eugene Sandulenko | 2017-07-05 08:35:33 +0200 |
commit | fd310f1fd3b8336b7c9a2b771153e22a006a4e52 (patch) | |
tree | 6b863ec2319521365bec5429054469722af136a3 /engines/director | |
parent | f1d2149db6b5da2a873f457a4d4687d8bcd1a908 (diff) | |
download | scummvm-rg350-fd310f1fd3b8336b7c9a2b771153e22a006a4e52.tar.gz scummvm-rg350-fd310f1fd3b8336b7c9a2b771153e22a006a4e52.tar.bz2 scummvm-rg350-fd310f1fd3b8336b7c9a2b771153e22a006a4e52.zip |
DIRECTOR: Move executeImmediateScripts to lingo.cpp
Diffstat (limited to 'engines/director')
-rw-r--r-- | engines/director/frame.cpp | 8 | ||||
-rw-r--r-- | engines/director/lingo/lingo.cpp | 8 | ||||
-rw-r--r-- | engines/director/lingo/lingo.h | 3 | ||||
-rw-r--r-- | engines/director/score.cpp | 2 |
4 files changed, 12 insertions, 9 deletions
diff --git a/engines/director/frame.cpp b/engines/director/frame.cpp index cdf5283ab7..cecc46dc65 100644 --- a/engines/director/frame.cpp +++ b/engines/director/frame.cpp @@ -545,14 +545,6 @@ void Frame::playTransition(Score *score) { } } -void Frame::executeImmediateScripts() { - for (uint16 i = 0; i < CHANNEL_COUNT; i++) { - if (_vm->getCurrentScore()->_immediateActions.contains(_sprites[i]->_scriptId)) { - g_lingo->processEvent(kEventMouseUp, kFrameScript, _sprites[i]->_scriptId); - } - } -} - void Frame::renderSprites(Graphics::ManagedSurface &surface, bool renderTrail) { for (uint16 i = 0; i < CHANNEL_COUNT; i++) { if (_sprites[i]->_enabled) { diff --git a/engines/director/lingo/lingo.cpp b/engines/director/lingo/lingo.cpp index d21936205a..77c0bbcb9d 100644 --- a/engines/director/lingo/lingo.cpp +++ b/engines/director/lingo/lingo.cpp @@ -404,4 +404,12 @@ void Lingo::runTests() { } } +void Lingo::executeImmediateScripts(Frame *frame) { + for (uint16 i = 0; i < CHANNEL_COUNT; i++) { + if (_vm->getCurrentScore()->_immediateActions.contains(frame->_sprites[i]->_scriptId)) { + g_lingo->processEvent(kEventMouseUp, kFrameScript, frame->_sprites[i]->_scriptId); + } + } +} + } // End of namespace Director diff --git a/engines/director/lingo/lingo.h b/engines/director/lingo/lingo.h index c17473f4ea..0d0c56cd92 100644 --- a/engines/director/lingo/lingo.h +++ b/engines/director/lingo/lingo.h @@ -579,6 +579,9 @@ private: int _floatPrecision; bool dontPassEvent; + +public: + void executeImmediateScripts(Frame *frame); }; extern Lingo *g_lingo; diff --git a/engines/director/score.cpp b/engines/director/score.cpp index 9a1f5dc7d9..e5430542d3 100644 --- a/engines/director/score.cpp +++ b/engines/director/score.cpp @@ -1176,7 +1176,7 @@ void Score::update() { _surface->clear(); _surface->copyFrom(*_trailSurface); - _frames[_currentFrame]->executeImmediateScripts(); + _lingo->executeImmediateScripts(_frames[_currentFrame]); // Enter and exit from previous frame (Director 4) _lingo->processEvent(kEventEnterFrame); |