diff options
| -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) { | 
