aboutsummaryrefslogtreecommitdiff
path: root/engines/director/lingo/lingo-builtins.cpp
diff options
context:
space:
mode:
authorEugene Sandulenko2019-12-31 15:48:11 +0100
committerEugene Sandulenko2019-12-31 16:27:28 +0100
commitf3b4df74b5c5d0bf62531d7cf654560ab5e923fc (patch)
tree404b6944bbaa69f8311430735e6ecd2b3edb28dc /engines/director/lingo/lingo-builtins.cpp
parentccb0aa0bb1be057e2bde400f732f04a0cfce39ac (diff)
downloadscummvm-rg350-f3b4df74b5c5d0bf62531d7cf654560ab5e923fc.tar.gz
scummvm-rg350-f3b4df74b5c5d0bf62531d7cf654560ab5e923fc.tar.bz2
scummvm-rg350-f3b4df74b5c5d0bf62531d7cf654560ab5e923fc.zip
DIRECTOR: LINGO: Implement parsing of 'the number of <xx> in' chunk functions
Diffstat (limited to 'engines/director/lingo/lingo-builtins.cpp')
-rw-r--r--engines/director/lingo/lingo-builtins.cpp45
1 files changed, 45 insertions, 0 deletions
diff --git a/engines/director/lingo/lingo-builtins.cpp b/engines/director/lingo/lingo-builtins.cpp
index c9d2a32c39..e9f4e366c6 100644
--- a/engines/director/lingo/lingo-builtins.cpp
+++ b/engines/director/lingo/lingo-builtins.cpp
@@ -221,6 +221,11 @@ static struct BuiltinProto {
{ "me", Lingo::b_me, -1,0, false, 3, BLTIN }, // D3
{ "script", Lingo::b_script, 1, 1, false, 4, RBLTIN }, // D4 f
{ "window", Lingo::b_window, 1, 1, false, 4, RBLTIN }, // D4 f
+ // Chunk operations
+ { "numberOfChars", Lingo::b_numberofchars, 1, 1, false, 4, FBLTIN }, // D4 f
+ { "numberOfItems", Lingo::b_numberofitems, 1, 1, false, 4, FBLTIN }, // D4 f
+ { "numberOfLines", Lingo::b_numberoflines, 1, 1, false, 4, FBLTIN }, // D4 f
+ { "numberOfWords", Lingo::b_numberofwords, 1, 1, false, 4, FBLTIN }, // D4 f
{ 0, 0, 0, 0, false, 0, 0 }
};
@@ -1757,5 +1762,45 @@ void Lingo::b_window(int nargs) {
g_lingo->push(d);
}
+void Lingo::b_numberofchars(int nargs) {
+ Datum d = g_lingo->pop();
+
+ warning("STUB: b_numberofchars");
+ d.toInt();
+ d.u.i = 0;
+
+ g_lingo->push(d);
+}
+
+void Lingo::b_numberofitems(int nargs) {
+ Datum d = g_lingo->pop();
+
+ warning("STUB: b_numberofitems");
+ d.toInt();
+ d.u.i = 0;
+
+ g_lingo->push(d);
+}
+
+void Lingo::b_numberoflines(int nargs) {
+ Datum d = g_lingo->pop();
+
+ warning("STUB: b_numberoflines");
+ d.toInt();
+ d.u.i = 0;
+
+ g_lingo->push(d);
+}
+
+void Lingo::b_numberofwords(int nargs) {
+ Datum d = g_lingo->pop();
+
+ warning("STUB: b_numberofwords");
+ d.toInt();
+ d.u.i = 0;
+
+ g_lingo->push(d);
+}
+
} // End of namespace Director