diff options
author | Eugene Sandulenko | 2017-01-10 21:41:39 +0100 |
---|---|---|
committer | Eugene Sandulenko | 2017-01-10 21:47:47 +0100 |
commit | 2cc9404ea47db5de52850f9e1af176a3e138f871 (patch) | |
tree | 7fc65539ed6cf45e83fb94248271ebed9faaa8a6 | |
parent | 0e58b35c672c2416d818ca8a7bd388432b01be3d (diff) | |
download | scummvm-rg350-2cc9404ea47db5de52850f9e1af176a3e138f871.tar.gz scummvm-rg350-2cc9404ea47db5de52850f9e1af176a3e138f871.tar.bz2 scummvm-rg350-2cc9404ea47db5de52850f9e1af176a3e138f871.zip |
DIRECTOR: Lingo: Add time-related stubs. This completes D3 grammar
All of the Director 3.0 grammar should be parseable now, albeit buggy,
especially because many stubs do not push their result values
which leads to a stack underflow.
-rw-r--r-- | engines/director/lingo/lingo-builtins.cpp | 18 | ||||
-rw-r--r-- | engines/director/lingo/lingo.h | 2 |
2 files changed, 20 insertions, 0 deletions
diff --git a/engines/director/lingo/lingo-builtins.cpp b/engines/director/lingo/lingo-builtins.cpp index 52f840db3c..7597debb37 100644 --- a/engines/director/lingo/lingo-builtins.cpp +++ b/engines/director/lingo/lingo-builtins.cpp @@ -97,6 +97,8 @@ static struct BuiltinProto { // Misc { "alert", Lingo::b_alert, 1, 1, false }, // D2 { "cursor", Lingo::b_cursor, 1, 1, false }, // D2 + { "framesToHMS", Lingo::b_framesToHMS, 4, 4, false }, // D3 + { "HMStoFrames", Lingo::b_HMStoFrames, 4, 4, false }, // D3 { "printFrom", Lingo::b_printFrom, -1,0, false }, // D2 // put // D2 // set // D2 @@ -563,6 +565,22 @@ void Lingo::b_preLoadCast(int nargs) { g_lingo->dropStack(nargs); } +void Lingo::b_framesToHMS(int nargs) { + g_lingo->printStubWithArglist("b_framesToHMS", nargs); + + g_lingo->dropStack(nargs); + + g_lingo->push(Datum(0)); +} + +void Lingo::b_HMStoFrames(int nargs) { + g_lingo->printStubWithArglist("b_HMStoFrames", nargs); + + g_lingo->dropStack(nargs); + + g_lingo->push(Datum(0)); +} + void Lingo::b_printFrom(int nargs) { g_lingo->printStubWithArglist("b_printFrom", nargs); diff --git a/engines/director/lingo/lingo.h b/engines/director/lingo/lingo.h index cd0943f5eb..54a719e58f 100644 --- a/engines/director/lingo/lingo.h +++ b/engines/director/lingo/lingo.h @@ -341,6 +341,8 @@ public: static void b_alert(int nargs); static void b_cursor(int nargs); + static void b_framesToHMS(int nargs); + static void b_HMStoFrames(int nargs); static void b_printFrom(int nargs); static void b_showGlobals(int nargs); static void b_showLocals(int nargs); |