aboutsummaryrefslogtreecommitdiff
path: root/engines/director/lingo/lingo-builtins.cpp
diff options
context:
space:
mode:
authorEugene Sandulenko2017-02-12 11:30:59 +0100
committerEugene Sandulenko2017-02-12 11:32:05 +0100
commita243a479aef65fe184519803100477ac1f3626bf (patch)
tree37bdfeb2b4a62681ab3d43879361e2842a59d671 /engines/director/lingo/lingo-builtins.cpp
parente76fec67a13ccc433de6eb41e45649e68a2865cc (diff)
downloadscummvm-rg350-a243a479aef65fe184519803100477ac1f3626bf.tar.gz
scummvm-rg350-a243a479aef65fe184519803100477ac1f3626bf.tar.bz2
scummvm-rg350-a243a479aef65fe184519803100477ac1f3626bf.zip
DIRECTOR: Lingo: Added grammar for assignment to references
Diffstat (limited to 'engines/director/lingo/lingo-builtins.cpp')
-rw-r--r--engines/director/lingo/lingo-builtins.cpp15
1 files changed, 15 insertions, 0 deletions
diff --git a/engines/director/lingo/lingo-builtins.cpp b/engines/director/lingo/lingo-builtins.cpp
index 98a4399e4e..ecf7fe22ad 100644
--- a/engines/director/lingo/lingo-builtins.cpp
+++ b/engines/director/lingo/lingo-builtins.cpp
@@ -296,6 +296,14 @@ static const char *builtinFunctions[] = {
0
};
+static const char *builtinReferences[] = {
+ "cast",
+ "field",
+ "script",
+ "window",
+ 0
+};
+
static const char *predefinedMethods[] = {
"mAtFrame", // D3
@@ -335,6 +343,13 @@ void Lingo::initBuiltIns() {
_builtins[*b]->type = FBLTIN;
}
+ for (const char **b = builtinReferences; *b; b++) {
+ if (!_builtins.contains(*b))
+ error("Incorrectly setup builtinReferences[]: %s", *b);
+
+ _builtins[*b]->type = RBLTIN;
+ }
+
for (const char **b = twoWordBuiltins; *b; b++)
_twoWordBuiltins[*b] = true;