aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--engines/director/lingo/lingo-code.cpp6
-rw-r--r--engines/director/lingo/lingo-funcs.cpp12
-rw-r--r--engines/director/lingo/lingo.h3
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;