aboutsummaryrefslogtreecommitdiff
path: root/engines/director
diff options
context:
space:
mode:
authorDmitry Iskrich2016-06-28 17:09:46 +0300
committerEugene Sandulenko2016-08-03 23:40:36 +0200
commitaac6c9695a5007b5027df8686b257d9a923a2099 (patch)
tree744d142f97baa32a7710a32f71221082cf828b96 /engines/director
parent9319eee100b6c813c2bbe50da79f741e06649018 (diff)
downloadscummvm-rg350-aac6c9695a5007b5027df8686b257d9a923a2099.tar.gz
scummvm-rg350-aac6c9695a5007b5027df8686b257d9a923a2099.tar.bz2
scummvm-rg350-aac6c9695a5007b5027df8686b257d9a923a2099.zip
DIRECTOR: Execute goto scripts
Diffstat (limited to 'engines/director')
-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;