diff options
author | Eugene Sandulenko | 2017-02-14 19:08:05 +0100 |
---|---|---|
committer | Eugene Sandulenko | 2017-02-14 19:08:05 +0100 |
commit | 8c13a263aef01e191ab4b031210186553025cf53 (patch) | |
tree | 09c52103bcb5377af9bcbfca0320a981a3b8e808 | |
parent | dcdce7b055742b6bc53a208a4d1292482f87bb30 (diff) | |
download | scummvm-rg350-8c13a263aef01e191ab4b031210186553025cf53.tar.gz scummvm-rg350-8c13a263aef01e191ab4b031210186553025cf53.tar.bz2 scummvm-rg350-8c13a263aef01e191ab4b031210186553025cf53.zip |
DIRECTOR: Lingo: Fix rest of the 'go to' family functions
-rw-r--r-- | engines/director/lingo/lingo-funcs.cpp | 6 | ||||
-rw-r--r-- | engines/director/score.cpp | 6 |
2 files changed, 12 insertions, 0 deletions
diff --git a/engines/director/lingo/lingo-funcs.cpp b/engines/director/lingo/lingo-funcs.cpp index 5ddfd0db62..ddc51f4149 100644 --- a/engines/director/lingo/lingo-funcs.cpp +++ b/engines/director/lingo/lingo-funcs.cpp @@ -242,6 +242,8 @@ void Lingo::func_gotoloop() { return; _vm->getCurrentScore()->gotoLoop(); + + g_director->_skipFrameAdvance = true; } void Lingo::func_gotonext() { @@ -249,6 +251,8 @@ void Lingo::func_gotonext() { return; _vm->getCurrentScore()->gotoNext(); + + g_director->_skipFrameAdvance = true; } void Lingo::func_gotoprevious() { @@ -256,6 +260,8 @@ void Lingo::func_gotoprevious() { return; _vm->getCurrentScore()->gotoPrevious(); + + g_director->_skipFrameAdvance = true; } void Lingo::func_cursor(int c) { diff --git a/engines/director/score.cpp b/engines/director/score.cpp index ca016d0051..76393e5449 100644 --- a/engines/director/score.cpp +++ b/engines/director/score.cpp @@ -639,6 +639,8 @@ void Score::gotoLoop() { } } } + + g_director->_skipFrameAdvance = true; } int Score::getCurrentLabelNumber() { @@ -657,11 +659,15 @@ int Score::getCurrentLabelNumber() { void Score::gotoNext() { // we can just try to use the current frame and get the next label _currentFrame = getNextLabelNumber(_currentFrame); + + g_director->_skipFrameAdvance = true; } void Score::gotoPrevious() { // we actually need the frame of the label prior to the most recent label. _currentFrame = getPreviousLabelNumber(getCurrentLabelNumber()); + + g_director->_skipFrameAdvance = true; } int Score::getNextLabelNumber(int referenceFrame) { |