diff options
author | Lars Skovlund | 2010-11-18 17:04:00 +0000 |
---|---|---|
committer | Lars Skovlund | 2010-11-18 17:04:00 +0000 |
commit | c5252071db22b31cc83c2687f93606b79194efe6 (patch) | |
tree | 7d2866806624b7187854a32394f714d6bd1c1aa3 /engines/sci/engine/vm.cpp | |
parent | 152e52d0156e443f8dc52bf2bddf9ef21a32f853 (diff) | |
download | scummvm-rg350-c5252071db22b31cc83c2687f93606b79194efe6.tar.gz scummvm-rg350-c5252071db22b31cc83c2687f93606b79194efe6.tar.bz2 scummvm-rg350-c5252071db22b31cc83c2687f93606b79194efe6.zip |
SCI3: Add proper support for the calle instruction
svn-id: r54327
Diffstat (limited to 'engines/sci/engine/vm.cpp')
-rw-r--r-- | engines/sci/engine/vm.cpp | 6 |
1 files changed, 5 insertions, 1 deletions
diff --git a/engines/sci/engine/vm.cpp b/engines/sci/engine/vm.cpp index 2cd5170921..9fa579cead 100644 --- a/engines/sci/engine/vm.cpp +++ b/engines/sci/engine/vm.cpp @@ -328,7 +328,11 @@ ExecStack *execute_method(EngineState *s, uint16 script, uint16 pubfunct, StackP scr = s->_segMan->getScript(seg); } - const int temp = scr->validateExportFunc(pubfunct); + int temp = scr->validateExportFunc(pubfunct, false); + + if (getSciVersion() == SCI_VERSION_3) + temp += scr->getCodeBlockOffset(); + if (!temp) { #ifdef ENABLE_SCI32 // HACK: Temporarily switch to a warning in SCI32 games until we can figure out why Torin has |