aboutsummaryrefslogtreecommitdiff
path: root/engines
diff options
context:
space:
mode:
authorEugene Sandulenko2017-03-13 09:08:51 +0100
committerEugene Sandulenko2017-03-13 09:08:51 +0100
commita3828cf7a5534151057621130fdb35fa1753f7b6 (patch)
treef9a9021b01c86695baff4ea175316298b61dbffc /engines
parent121cb806965ad43eaeba525a9fe1883a13e2821c (diff)
downloadscummvm-rg350-a3828cf7a5534151057621130fdb35fa1753f7b6.tar.gz
scummvm-rg350-a3828cf7a5534151057621130fdb35fa1753f7b6.tar.bz2
scummvm-rg350-a3828cf7a5534151057621130fdb35fa1753f7b6.zip
DIRECTOR: Lingo: Improved check for REFERENCE assignment
Diffstat (limited to 'engines')
-rw-r--r--engines/director/lingo/lingo-code.cpp12
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");