diff options
-rw-r--r-- | engines/director/lingo/lingo-code.cpp | 12 |
1 files changed, 8 insertions, 4 deletions
diff --git a/engines/director/lingo/lingo-code.cpp b/engines/director/lingo/lingo-code.cpp index 7bc82eddcf..d0d29dd04c 100644 --- a/engines/director/lingo/lingo-code.cpp +++ b/engines/director/lingo/lingo-code.cpp @@ -307,10 +307,14 @@ void Lingo::c_assign() { } if (d1.type == REFERENCE) { - if (!g_director->getCurrentScore()->_castsInfo.contains(d1.u.i)) { - warning("c_assign: Unknown REFERENCE %d", d1.u.i); - g_lingo->pushVoid(); - return; + if (!g_director->getCurrentScore()->_loadedText->contains(d1.u.i)) { + if (!g_director->getCurrentScore()->_loadedText->contains(d1.u.i - 1024)) { + warning("c_assign: Unknown REFERENCE %d", d1.u.i); + g_lingo->pushVoid(); + return; + } else { + d1.u.i -= 1024; + } } warning("STUB: c_assing REFERENCE"); |