aboutsummaryrefslogtreecommitdiff
path: root/engines/director/lingo/lingo-builtins.cpp
diff options
context:
space:
mode:
authorEugene Sandulenko2017-02-05 23:54:31 +0100
committerEugene Sandulenko2017-02-05 23:54:31 +0100
commit3642054399272a9a038fd166ae0baedf48de0110 (patch)
treec7850d431f14f4c781337aa94ba3b7f76de5b529 /engines/director/lingo/lingo-builtins.cpp
parent4e9341ef7b105d2c979fcce83507326a062dc255 (diff)
downloadscummvm-rg350-3642054399272a9a038fd166ae0baedf48de0110.tar.gz
scummvm-rg350-3642054399272a9a038fd166ae0baedf48de0110.tar.bz2
scummvm-rg350-3642054399272a9a038fd166ae0baedf48de0110.zip
DIRECTOR: Lingo: Documented D4 "Code structures" Lingo
Diffstat (limited to 'engines/director/lingo/lingo-builtins.cpp')
-rw-r--r--engines/director/lingo/lingo-builtins.cpp17
1 files changed, 9 insertions, 8 deletions
diff --git a/engines/director/lingo/lingo-builtins.cpp b/engines/director/lingo/lingo-builtins.cpp
index f7c1abe48a..f5abbcadad 100644
--- a/engines/director/lingo/lingo-builtins.cpp
+++ b/engines/director/lingo/lingo-builtins.cpp
@@ -98,6 +98,7 @@ static struct BuiltinProto {
{ "dontPassEvent", Lingo::b_dontPassEvent, 0, 0, false }, // D2
{ "delay", Lingo::b_delay, 1, 1, false }, // D2
{ "do", Lingo::b_do, 1, 1, false }, // D2
+ { "halt", Lingo::b_halt, 0, 0, false }, // D4
{ "nothing", Lingo::b_nothing, 0, 0, false }, // D2
{ "pause", Lingo::b_pause, 0, 0, false }, // D2
// play // D2
@@ -715,6 +716,12 @@ void Lingo::b_do(int nargs) {
warning("STUB: b_do(%s)", d.u.s->c_str());
}
+void Lingo::b_halt(int nargs) {
+ b_quit(nargs);
+
+ warning("Movie halted");
+}
+
void Lingo::b_pause(int nargs) {
g_director->_playbackPaused = true;
@@ -769,19 +776,13 @@ void Lingo::b_quit(int nargs) {
}
void Lingo::b_restart(int nargs) {
- if (g_director->_currentScore)
- g_director->_currentScore->_stopPlay = true;
-
- g_lingo->pushVoid();
+ b_quit(nargs);
warning("Computer restarts");
}
void Lingo::b_shutDown(int nargs) {
- if (g_director->_currentScore)
- g_director->_currentScore->_stopPlay = true;
-
- g_lingo->pushVoid();
+ b_quit(nargs);
warning("Computer shuts down");
}