aboutsummaryrefslogtreecommitdiff
path: root/engines/director/lingo/lingo-builtins.cpp
diff options
context:
space:
mode:
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;