aboutsummaryrefslogtreecommitdiff
path: root/engines
diff options
context:
space:
mode:
authorEugene Sandulenko2017-01-10 21:41:39 +0100
committerEugene Sandulenko2017-01-10 21:47:47 +0100
commit2cc9404ea47db5de52850f9e1af176a3e138f871 (patch)
tree7fc65539ed6cf45e83fb94248271ebed9faaa8a6 /engines
parent0e58b35c672c2416d818ca8a7bd388432b01be3d (diff)
downloadscummvm-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.
Diffstat (limited to 'engines')
-rw-r--r--engines/director/lingo/lingo-builtins.cpp18
-rw-r--r--engines/director/lingo/lingo.h2
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);