aboutsummaryrefslogtreecommitdiff
path: root/engines/sci/engine/kscripts.cpp
diff options
context:
space:
mode:
authorFilippos Karapetis2010-05-29 15:29:27 +0000
committerFilippos Karapetis2010-05-29 15:29:27 +0000
commita6156a680583bfd3876bcd1c6d5e550763d0a677 (patch)
tree0d7544a88ea42e40e1f8265b77aede9f15867943 /engines/sci/engine/kscripts.cpp
parent3d09af03773d353e73b61197befa63031e99d096 (diff)
downloadscummvm-rg350-a6156a680583bfd3876bcd1c6d5e550763d0a677.tar.gz
scummvm-rg350-a6156a680583bfd3876bcd1c6d5e550763d0a677.tar.bz2
scummvm-rg350-a6156a680583bfd3876bcd1c6d5e550763d0a677.zip
Removed the scriptRelocateExportsSci11() hack. The open spell in QFG1VGA works now (thanks to waltervn for all his help on this)
svn-id: r49311
Diffstat (limited to 'engines/sci/engine/kscripts.cpp')
-rw-r--r--engines/sci/engine/kscripts.cpp8
1 files changed, 7 insertions, 1 deletions
diff --git a/engines/sci/engine/kscripts.cpp b/engines/sci/engine/kscripts.cpp
index eeaa0ceec0..9b07648647 100644
--- a/engines/sci/engine/kscripts.cpp
+++ b/engines/sci/engine/kscripts.cpp
@@ -204,7 +204,13 @@ reg_t kScriptID(EngineState *s, int argc, reg_t *argv) {
return NULL_REG;
}
- return make_reg(scriptSeg, scr->validateExportFunc(index));
+ uint16 address = scr->validateExportFunc(index);
+
+ // Point to the heap for SCI1.1+ games
+ if (getSciVersion() >= SCI_VERSION_1_1)
+ address += scr->_scriptSize;
+
+ return make_reg(scriptSeg, address);
}
reg_t kDisposeScript(EngineState *s, int argc, reg_t *argv) {