diff options
author | Eugene Sandulenko | 2017-02-05 23:54:31 +0100 |
---|---|---|
committer | Eugene Sandulenko | 2017-02-05 23:54:31 +0100 |
commit | 3642054399272a9a038fd166ae0baedf48de0110 (patch) | |
tree | c7850d431f14f4c781337aa94ba3b7f76de5b529 /engines/director/lingo | |
parent | 4e9341ef7b105d2c979fcce83507326a062dc255 (diff) | |
download | scummvm-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')
-rw-r--r-- | engines/director/lingo/lingo-builtins.cpp | 17 | ||||
-rw-r--r-- | engines/director/lingo/lingo-the.cpp | 3 | ||||
-rw-r--r-- | engines/director/lingo/lingo-the.h | 3 | ||||
-rw-r--r-- | engines/director/lingo/lingo.h | 1 |
4 files changed, 16 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"); } diff --git a/engines/director/lingo/lingo-the.cpp b/engines/director/lingo/lingo-the.cpp index 5dea147409..d606b76945 100644 --- a/engines/director/lingo/lingo-the.cpp +++ b/engines/director/lingo/lingo-the.cpp @@ -120,6 +120,9 @@ TheEntity entities[] = { { kTheTimeoutScript, "timeoutScript", false }, // D2 p { kTheTime, "time", false }, // D3 f { kTheTimer, "timer", false }, // D2 p + { kTheTrace, "trace", false }, // D4 p + { kTheTraceLoad, "traceLoad", false }, // D4 p + { kTheTraceLogFile, "traceLogFile", false }, // D4 p { kTheWindow, "window", false }, { kTheWords, "words", false }, // D3 { kTheNOEntity, NULL, false } diff --git a/engines/director/lingo/lingo-the.h b/engines/director/lingo/lingo-the.h index 8cec0ced13..be501ba984 100644 --- a/engines/director/lingo/lingo-the.h +++ b/engines/director/lingo/lingo-the.h @@ -118,6 +118,9 @@ enum TheEntityType { kTheTimeoutPlay, kTheTimeoutScript, kTheTimer, + kTheTrace, + kTheTraceLoad, + kTheTraceLogFile, kTheWindow, kTheWords }; diff --git a/engines/director/lingo/lingo.h b/engines/director/lingo/lingo.h index 3c75dd5b85..b327853b39 100644 --- a/engines/director/lingo/lingo.h +++ b/engines/director/lingo/lingo.h @@ -410,6 +410,7 @@ public: static void b_dontPassEvent(int nargs); static void b_delay(int nargs); static void b_do(int nargs); + static void b_halt(int nargs); static void b_nothing(int nargs); static void b_pause(int nargs); static void b_playAccel(int nargs); |