diff options
-rw-r--r-- | engines/director/lingo/lingo-code.cpp | 6 | ||||
-rw-r--r-- | engines/director/lingo/lingo-funcs.cpp | 12 | ||||
-rw-r--r-- | engines/director/lingo/lingo.h | 3 |
3 files changed, 18 insertions, 3 deletions
diff --git a/engines/director/lingo/lingo-code.cpp b/engines/director/lingo/lingo-code.cpp index 4407bb8829..7555af839f 100644 --- a/engines/director/lingo/lingo-code.cpp +++ b/engines/director/lingo/lingo-code.cpp @@ -371,15 +371,15 @@ void Lingo::c_goto() { } void Lingo::c_gotoloop() { - warning("STUB: c_gotoloop()"); + g_lingo->func_gotoLoop(); } void Lingo::c_gotonext() { - warning("STUB: c_gotonext()"); + g_lingo->func_gotoNext(); } void Lingo::c_gotoprevious() { - warning("STUB: c_gotoprevious()"); + g_lingo->func_gotoPrev(); } void Lingo::c_call() { diff --git a/engines/director/lingo/lingo-funcs.cpp b/engines/director/lingo/lingo-funcs.cpp index eca6641a31..eae253db89 100644 --- a/engines/director/lingo/lingo-funcs.cpp +++ b/engines/director/lingo/lingo-funcs.cpp @@ -208,4 +208,16 @@ void Lingo::func_goto(Common::String &frame, Common::String &movie) { _vm->_currentScore->setCurrentFrame(strtol(frame.c_str(), 0, 10)); } +void Lingo::func_gotoLoop() { + _vm->_currentScore->goToLoop(); +} + +void Lingo::func_gotoNext() { + _vm->_currentScore->goToNext(); +} + +void Lingo::func_gotoPrev() { + _vm->_currentScore->goToPrevious(); +} + } diff --git a/engines/director/lingo/lingo.h b/engines/director/lingo/lingo.h index cfa25d71f1..bb613ab72a 100644 --- a/engines/director/lingo/lingo.h +++ b/engines/director/lingo/lingo.h @@ -175,6 +175,9 @@ public: void func_mci(Common::String &s); void func_mciwait(Common::String &s); void func_goto(Common::String &frame, Common::String &movie); + void func_gotoLoop(); + void func_gotoNext(); + void func_gotoPrev(); public: ScriptData *_currentScript; |